Initialise stickman legs correctly
This commit is contained in:
parent
ce3bb6f755
commit
63da7a4afe
@ -50,35 +50,7 @@ int Simulation::Load(int fullX, int fullY, GameSave * save)
|
|||||||
y = int(tempPart.y + 0.5f);
|
y = int(tempPart.y + 0.5f);
|
||||||
|
|
||||||
if ((player.spwn == 1 && tempPart.type==PT_STKM) || (player2.spwn == 1 && tempPart.type==PT_STKM2))
|
if ((player.spwn == 1 && tempPart.type==PT_STKM) || (player2.spwn == 1 && tempPart.type==PT_STKM2))
|
||||||
{
|
|
||||||
continue;
|
continue;
|
||||||
}
|
|
||||||
else if (tempPart.type == PT_STKM)
|
|
||||||
{
|
|
||||||
//STKM_init_legs(&player, newIndex);
|
|
||||||
player.spwn = 1;
|
|
||||||
player.elem = PT_DUST;
|
|
||||||
}
|
|
||||||
else if (tempPart.type == PT_STKM2)
|
|
||||||
{
|
|
||||||
//STKM_init_legs(&player2, newIndex);
|
|
||||||
player2.spwn = 1;
|
|
||||||
player2.elem = PT_DUST;
|
|
||||||
}
|
|
||||||
else if (tempPart.type == PT_FIGH)
|
|
||||||
{
|
|
||||||
//TODO: 100 should be replaced with a macro
|
|
||||||
unsigned char fcount = 0;
|
|
||||||
while (fcount < 100 && fcount < (fighcount+1) && fighters[fcount].spwn==1) fcount++;
|
|
||||||
if (fcount < 100 && fighters[fcount].spwn==0)
|
|
||||||
{
|
|
||||||
tempPart.tmp = fcount;
|
|
||||||
fighters[fcount].spwn = 1;
|
|
||||||
fighters[fcount].elem = PT_DUST;
|
|
||||||
fighcount++;
|
|
||||||
//STKM_init_legs(&(sim->fighters[sim->fcount]), newIndex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!elements[tempPart.type].Enabled)
|
if (!elements[tempPart.type].Enabled)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@ -86,6 +58,7 @@ int Simulation::Load(int fullX, int fullY, GameSave * save)
|
|||||||
{
|
{
|
||||||
//Replace existing
|
//Replace existing
|
||||||
parts[r>>8] = tempPart;
|
parts[r>>8] = tempPart;
|
||||||
|
i = r>>8;
|
||||||
pmap[y][x] = 0;
|
pmap[y][x] = 0;
|
||||||
elementCount[parts[r>>8].type]--;
|
elementCount[parts[r>>8].type]--;
|
||||||
elementCount[tempPart.type]++;
|
elementCount[tempPart.type]++;
|
||||||
@ -102,6 +75,33 @@ int Simulation::Load(int fullX, int fullY, GameSave * save)
|
|||||||
|
|
||||||
elementCount[tempPart.type]++;
|
elementCount[tempPart.type]++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (tempPart.type == PT_STKM)
|
||||||
|
{
|
||||||
|
Element_STKM::STKM_init_legs(this, &player, i);
|
||||||
|
player.spwn = 1;
|
||||||
|
player.elem = PT_DUST;
|
||||||
|
}
|
||||||
|
else if (tempPart.type == PT_STKM2)
|
||||||
|
{
|
||||||
|
Element_STKM::STKM_init_legs(this, &player2, i);
|
||||||
|
player2.spwn = 1;
|
||||||
|
player2.elem = PT_DUST;
|
||||||
|
}
|
||||||
|
else if (tempPart.type == PT_FIGH)
|
||||||
|
{
|
||||||
|
//TODO: 100 should be replaced with a macro
|
||||||
|
unsigned char fcount = 0;
|
||||||
|
while (fcount < 100 && fcount < (fighcount+1) && fighters[fcount].spwn==1) fcount++;
|
||||||
|
if (fcount < 100 && fighters[fcount].spwn==0)
|
||||||
|
{
|
||||||
|
tempPart.tmp = fcount;
|
||||||
|
fighters[fcount].spwn = 1;
|
||||||
|
fighters[fcount].elem = PT_DUST;
|
||||||
|
fighcount++;
|
||||||
|
Element_STKM::STKM_init_legs(this, &(fighters[fcount]), i);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
parts_lastActiveIndex = NPART-1;
|
parts_lastActiveIndex = NPART-1;
|
||||||
force_stacking_check = 1;
|
force_stacking_check = 1;
|
||||||
|
Reference in New Issue
Block a user