this code works without a single problem
the problem is with your watched var's(or with var instead of int) theire not displayed correct!

Code:
typedef struct MONSTER
{
	int INIT_M;

}MONSTER;

typedef struct HERO
{
	int INIT;

}HERO;

MONSTER* create_enemies()
{
	MONSTER* enemy = malloc(sizeof(MONSTER));
	if(enemy)
	{
		enemy.INIT_M = 14;
		return enemy
	}
	return NULL;
}

int hero_order[3] = {0,1,2};
int cur_hr = 0;

HERO* create_hero()
{
		HERO* hero = malloc(sizeof(HERO));
		if(hero)
		{
			int cur_hero_order=hero_order[cur_hr];
			
			switch (cur_hero_order)
			{
				case 0:
					hero.INIT=16;
				break;

				case 1:
					hero.INIT=12;
				break;

				case 2:
					hero.INIT=15;
				break;
			}

			cur_hr+=1;
			return hero;
		}
		return NULL;
		
}

void create_battle_startup()
{
	
	HERO* hero0 = create_hero();
	HERO* hero1 = create_hero();
	HERO* hero2 = create_hero();
	MONSTER* monster0 = create_enemies();
	MONSTER* monster1 = create_enemies();
	MONSTER* monster2 = create_enemies();
	
 	int a = hero0.INIT; 
 	int b = hero1.INIT;
 	int c = hero2.INIT; 
   printf("%d,%d,%d",a,b,c);
 
}



Last edited by Wjbender; 04/18/12 18:53.

Compulsive compiler