mirror of https://github.com/yaz0r/FITD.git
Implement copy angle for sorcerer fireball
Also rename a few things
This commit is contained in:
parent
2f77a8d791
commit
402ba78824
|
@ -101,7 +101,7 @@ void GereFrappe(void)
|
|||
{
|
||||
int touchedActor;
|
||||
|
||||
createFlow( 3,
|
||||
InitSpecialObjet( 3,
|
||||
currentProcessedActorPtr->roomX + currentProcessedActorPtr->hotPoint.x,
|
||||
currentProcessedActorPtr->roomY + currentProcessedActorPtr->hotPoint.y,
|
||||
currentProcessedActorPtr->roomZ + currentProcessedActorPtr->hotPoint.z,
|
||||
|
@ -123,13 +123,13 @@ void GereFrappe(void)
|
|||
|
||||
if(touchedActor == -1) // no one has been touched
|
||||
{
|
||||
createFlow( 2, animMoveX, animMoveY, animMoveZ, currentProcessedActorPtr->stage, currentProcessedActorPtr->room, 0, -currentProcessedActorPtr->beta, 0, NULL );
|
||||
InitSpecialObjet( 2, animMoveX, animMoveY, animMoveZ, currentProcessedActorPtr->stage, currentProcessedActorPtr->room, 0, -currentProcessedActorPtr->beta, 0, NULL );
|
||||
|
||||
currentProcessedActorPtr->animActionType = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
createFlow( 2, animMoveX, animMoveY, animMoveZ, currentProcessedActorPtr->stage, currentProcessedActorPtr->room, 0, -currentProcessedActorPtr->beta, 0, NULL );
|
||||
InitSpecialObjet( 2, animMoveX, animMoveY, animMoveZ, currentProcessedActorPtr->stage, currentProcessedActorPtr->room, 0, -currentProcessedActorPtr->beta, 0, NULL );
|
||||
|
||||
currentProcessedActorPtr->hotPoint.x = animMoveX - currentProcessedActorPtr->roomX;
|
||||
currentProcessedActorPtr->hotPoint.y = animMoveY - currentProcessedActorPtr->roomY;
|
||||
|
@ -150,7 +150,7 @@ void GereFrappe(void)
|
|||
{
|
||||
int objIdx = currentProcessedActorPtr->animActionParam;
|
||||
|
||||
tWorldObject* objPtr = &worldObjects[objIdx];
|
||||
tWorldObject* objPtr = &ListWorldObjets[objIdx];
|
||||
|
||||
int x = currentProcessedActorPtr->roomX + currentProcessedActorPtr->hotPoint.x + currentProcessedActorPtr->stepX;
|
||||
int y = currentProcessedActorPtr->roomY + currentProcessedActorPtr->hotPoint.y + currentProcessedActorPtr->stepY;
|
||||
|
@ -220,7 +220,7 @@ void GereFrappe(void)
|
|||
|
||||
objIdx = currentProcessedActorPtr->animActionParam;
|
||||
|
||||
actorIdx = worldObjects[objIdx].objIndex;
|
||||
actorIdx = ListWorldObjets[objIdx].objIndex;
|
||||
|
||||
if(actorIdx == -1)
|
||||
return;
|
||||
|
@ -243,11 +243,11 @@ void GereFrappe(void)
|
|||
actorPtr->_flags |= AF_ANIMATED;
|
||||
actorPtr->_flags &= ~AF_BOXIFY;
|
||||
|
||||
worldObjects[objIdx].x = x;
|
||||
worldObjects[objIdx].y = y;
|
||||
worldObjects[objIdx].z = z;
|
||||
ListWorldObjets[objIdx].x = x;
|
||||
ListWorldObjets[objIdx].y = y;
|
||||
ListWorldObjets[objIdx].z = z;
|
||||
|
||||
worldObjects[objIdx].alpha = currentProcessedActorPtr->indexInWorld; // original thrower
|
||||
ListWorldObjets[objIdx].alpha = currentProcessedActorPtr->indexInWorld; // original thrower
|
||||
|
||||
actorPtr->dynFlags = 0;
|
||||
actorPtr->animActionType = 9;
|
||||
|
@ -266,7 +266,7 @@ void GereFrappe(void)
|
|||
}
|
||||
case 9: // during throw
|
||||
{
|
||||
tWorldObject* objPtr = &worldObjects[currentProcessedActorPtr->indexInWorld];
|
||||
tWorldObject* objPtr = &ListWorldObjets[currentProcessedActorPtr->indexInWorld];
|
||||
|
||||
ZVStruct rangeZv;
|
||||
ZVStruct rangeZv2;
|
||||
|
|
|
@ -172,7 +172,7 @@ void debugger_draw(void)
|
|||
|
||||
ImGui::End();
|
||||
|
||||
if(worldObjects.size())
|
||||
if(ListWorldObjets.size())
|
||||
{
|
||||
ImGui::Begin("World objects");
|
||||
|
||||
|
@ -181,10 +181,10 @@ void debugger_draw(void)
|
|||
|
||||
ImGui::Separator();
|
||||
|
||||
if (selectedWorldObject > worldObjects.size())
|
||||
selectedWorldObject = worldObjects.size() - 1;
|
||||
if (selectedWorldObject > ListWorldObjets.size())
|
||||
selectedWorldObject = ListWorldObjets.size() - 1;
|
||||
|
||||
tWorldObject* pWorldObject = &worldObjects[selectedWorldObject];
|
||||
tWorldObject* pWorldObject = &ListWorldObjets[selectedWorldObject];
|
||||
|
||||
if(pWorldObject)
|
||||
{
|
||||
|
|
|
@ -198,7 +198,7 @@ int evalVar(const char* name)
|
|||
|
||||
objectNumber = *(s16*)currentLifePtr;
|
||||
|
||||
actorIdx = worldObjects[objectNumber].objIndex;
|
||||
actorIdx = ListWorldObjets[objectNumber].objIndex;
|
||||
|
||||
currentLifePtr+=2;
|
||||
actorPtr = &objectTable[actorIdx];
|
||||
|
@ -209,12 +209,12 @@ int evalVar(const char* name)
|
|||
{
|
||||
case 0x1F:
|
||||
{
|
||||
return(worldObjects[objectNumber].room);
|
||||
return(ListWorldObjets[objectNumber].room);
|
||||
break;
|
||||
}
|
||||
case 0x26:
|
||||
{
|
||||
return(worldObjects[objectNumber].stage);
|
||||
return(ListWorldObjets[objectNumber].stage);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
@ -334,7 +334,7 @@ int evalVar(const char* name)
|
|||
}
|
||||
case 0xE: // DIST
|
||||
{
|
||||
int actorNumber = worldObjects[*(s16*)currentLifePtr].objIndex;
|
||||
int actorNumber = ListWorldObjets[*(s16*)currentLifePtr].objIndex;
|
||||
currentLifePtr+=2;
|
||||
|
||||
if(actorNumber == -1)
|
||||
|
@ -362,7 +362,7 @@ int evalVar(const char* name)
|
|||
}
|
||||
case 0x10: // found
|
||||
{
|
||||
if(worldObjects[evalVar()].flags2 & 0x8000)
|
||||
if(ListWorldObjets[evalVar()].flags2 & 0x8000)
|
||||
{
|
||||
return(1);
|
||||
}
|
||||
|
@ -385,12 +385,12 @@ int evalVar(const char* name)
|
|||
objNum = *(s16*)currentLifePtr;
|
||||
currentLifePtr+=2;
|
||||
|
||||
if(worldObjects[objNum].objIndex == -1)
|
||||
if(ListWorldObjets[objNum].objIndex == -1)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return (getPosRel(actorPtr, &objectTable[worldObjects[objNum].objIndex]));
|
||||
return (getPosRel(actorPtr, &objectTable[ListWorldObjets[objNum].objIndex]));
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -485,7 +485,7 @@ int evalVar(const char* name)
|
|||
objNum = *(s16*)currentLifePtr;
|
||||
currentLifePtr+=2;
|
||||
|
||||
if(worldObjects[objNum].flags2 & 0xC000)
|
||||
if(ListWorldObjets[objNum].flags2 & 0xC000)
|
||||
{
|
||||
return(1);
|
||||
}
|
||||
|
@ -539,7 +539,7 @@ int evalVar(const char* name)
|
|||
objNum = *(s16*)currentLifePtr;
|
||||
currentLifePtr+=2;
|
||||
|
||||
if(worldObjects[objNum].flags2 & 0x1000)
|
||||
if(ListWorldObjets[objNum].flags2 & 0x1000)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
@ -601,7 +601,7 @@ int evalVar2(const char* name)
|
|||
|
||||
objectNumber = *(s16*)currentLifePtr;
|
||||
|
||||
actorIdx = worldObjects[objectNumber].objIndex;
|
||||
actorIdx = ListWorldObjets[objectNumber].objIndex;
|
||||
|
||||
currentLifePtr+=2;
|
||||
actorPtr = &objectTable[actorIdx];
|
||||
|
@ -616,7 +616,7 @@ int evalVar2(const char* name)
|
|||
appendFormated("%s:", name);
|
||||
appendFormated("worldObjects[%d].room, ", objectNumber);
|
||||
|
||||
return(worldObjects[objectNumber].room);
|
||||
return(ListWorldObjets[objectNumber].room);
|
||||
break;
|
||||
}
|
||||
case 0x24:
|
||||
|
@ -625,7 +625,7 @@ int evalVar2(const char* name)
|
|||
appendFormated("%s:", name);
|
||||
appendFormated("worldObjects[%d].stage, ", objectNumber);
|
||||
|
||||
return(worldObjects[objectNumber].stage);
|
||||
return(ListWorldObjets[objectNumber].stage);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
@ -763,7 +763,7 @@ int evalVar2(const char* name)
|
|||
int worldObjectIdx = *(s16*)currentLifePtr;
|
||||
currentLifePtr+=2;
|
||||
|
||||
int objectIdx = worldObjects[worldObjectIdx].objIndex;
|
||||
int objectIdx = ListWorldObjets[worldObjectIdx].objIndex;
|
||||
|
||||
int tempX;
|
||||
int tempY;
|
||||
|
@ -771,11 +771,11 @@ int evalVar2(const char* name)
|
|||
|
||||
if(objectIdx == -1)
|
||||
{
|
||||
if(worldObjects[worldObjectIdx].room == currentRoom)
|
||||
if(ListWorldObjets[worldObjectIdx].room == currentRoom)
|
||||
{
|
||||
tempX = worldObjects[worldObjectIdx].x;
|
||||
tempY = worldObjects[worldObjectIdx].y;
|
||||
tempZ = worldObjects[worldObjectIdx].z;
|
||||
tempX = ListWorldObjets[worldObjectIdx].x;
|
||||
tempY = ListWorldObjets[worldObjectIdx].y;
|
||||
tempZ = ListWorldObjets[worldObjectIdx].z;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -803,7 +803,7 @@ int evalVar2(const char* name)
|
|||
}
|
||||
case 0x10: // found
|
||||
{
|
||||
if(worldObjects[evalVar()].flags2 & 0x8000)
|
||||
if(ListWorldObjets[evalVar()].flags2 & 0x8000)
|
||||
{
|
||||
return(1);
|
||||
}
|
||||
|
@ -826,12 +826,12 @@ int evalVar2(const char* name)
|
|||
objNum = *(s16*)currentLifePtr;
|
||||
currentLifePtr+=2;
|
||||
|
||||
if(worldObjects[objNum].objIndex == -1)
|
||||
if(ListWorldObjets[objNum].objIndex == -1)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return (getPosRel(actorPtr, &objectTable[worldObjects[objNum].objIndex]));
|
||||
return (getPosRel(actorPtr, &objectTable[ListWorldObjets[objNum].objIndex]));
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -926,7 +926,7 @@ int evalVar2(const char* name)
|
|||
objNum = *(s16*)currentLifePtr;
|
||||
currentLifePtr+=2;
|
||||
|
||||
if(worldObjects[objNum].flags2 & 0xC000)
|
||||
if(ListWorldObjets[objNum].flags2 & 0xC000)
|
||||
{
|
||||
return(1);
|
||||
}
|
||||
|
@ -961,7 +961,7 @@ int evalVar2(const char* name)
|
|||
objNum = *(s16*)currentLifePtr;
|
||||
currentLifePtr+=2;
|
||||
|
||||
if(worldObjects[objNum].flags2 & 0x1000)
|
||||
if(ListWorldObjets[objNum].flags2 & 0x1000)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
@ -982,7 +982,7 @@ int evalVar2(const char* name)
|
|||
param2 = *(s16*)currentLifePtr;
|
||||
currentLifePtr+=2;
|
||||
|
||||
return getMatrix(param1,actorIdx,worldObjects[param2].objIndex);
|
||||
return getMatrix(param1,actorIdx,ListWorldObjets[param2].objIndex);
|
||||
break;
|
||||
}
|
||||
case 0x26: // hard_mat
|
||||
|
|
|
@ -47,7 +47,7 @@ int DrawListObjets(int startIdx, int selectIdx, int selectColor)
|
|||
|
||||
currentObj = inventoryTable[currentInventory][startIdx];
|
||||
|
||||
objPtr = &worldObjects[currentObj];
|
||||
objPtr = &ListWorldObjets[currentObj];
|
||||
|
||||
if(startIdx == selectIdx)
|
||||
{
|
||||
|
@ -321,11 +321,11 @@ void processInventory(void)
|
|||
{
|
||||
selectedWorldObjectIdx = DrawListObjets(firstObjectDisplayedIdx,selectedObjectIdx,15);
|
||||
|
||||
currentFoundBodyIdx = worldObjects[selectedWorldObjectIdx].foundBody;
|
||||
currentFoundBodyIdx = ListWorldObjets[selectedWorldObjectIdx].foundBody;
|
||||
|
||||
currentFoundBody = HQR_Get(listBody,currentFoundBodyIdx);
|
||||
|
||||
var_C = worldObjects[selectedWorldObjectIdx].flags2;
|
||||
var_C = ListWorldObjets[selectedWorldObjectIdx].flags2;
|
||||
|
||||
numInventoryActions = 0;
|
||||
numActionForObject = 0;
|
||||
|
@ -406,7 +406,7 @@ void processInventory(void)
|
|||
}
|
||||
}
|
||||
}
|
||||
renderInventoryObject(worldObjects[selectedWorldObjectIdx].floorLife);
|
||||
renderInventoryObject(ListWorldObjets[selectedWorldObjectIdx].floorLife);
|
||||
|
||||
if(firstTime)
|
||||
{
|
||||
|
|
165
FitdLib/life.cpp
165
FitdLib/life.cpp
|
@ -27,16 +27,16 @@ void throwObj(int animThrow, int frameThrow, int arg_4, int objToThrowIdx, int t
|
|||
|
||||
if (!throwRotated)
|
||||
{
|
||||
worldObjects[objToThrowIdx].gamma -= 0x100;
|
||||
ListWorldObjets[objToThrowIdx].gamma -= 0x100;
|
||||
}
|
||||
|
||||
worldObjects[objToThrowIdx].flags2 |= 0x1000;
|
||||
ListWorldObjets[objToThrowIdx].flags2 |= 0x1000;
|
||||
}
|
||||
}
|
||||
|
||||
void put(int x, int y, int z, int room, int stage, int alpha, int beta, int gamma, int idx)
|
||||
{
|
||||
tWorldObject* objPtr = &worldObjects[idx];
|
||||
tWorldObject* objPtr = &ListWorldObjets[idx];
|
||||
|
||||
objPtr->x = x;
|
||||
objPtr->y = y;
|
||||
|
@ -81,7 +81,7 @@ int randRange(int min, int max)
|
|||
return((rand() % (max - min)) + min);
|
||||
}
|
||||
|
||||
int createFlow(int mode, int X, int Y, int Z, int stage, int room, int alpha, int beta, int gamma, ZVStruct* zvPtr)
|
||||
int InitSpecialObjet(int mode, int X, int Y, int Z, int stage, int room, int alpha, int beta, int gamma, ZVStruct* zvPtr)
|
||||
{
|
||||
s16 localSpecialTable[4];
|
||||
tObject* currentActorPtr;
|
||||
|
@ -137,7 +137,7 @@ int createFlow(int mode, int X, int Y, int Z, int stage, int room, int alpha, in
|
|||
|
||||
switch (mode)
|
||||
{
|
||||
case 0:
|
||||
case 0: // evaporate
|
||||
{
|
||||
char* flowPtr;
|
||||
int j;
|
||||
|
@ -513,7 +513,7 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
}
|
||||
else
|
||||
{
|
||||
currentProcessedActorIdx = worldObjects[var_6].objIndex;
|
||||
currentProcessedActorIdx = ListWorldObjets[var_6].objIndex;
|
||||
|
||||
if (currentProcessedActorIdx != -1)
|
||||
{
|
||||
|
@ -539,13 +539,13 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
////////////////////////////////////////////////////////////////////////
|
||||
case LM_BODY:
|
||||
{
|
||||
worldObjects[var_6].body = evalVar();
|
||||
ListWorldObjets[var_6].body = evalVar();
|
||||
break;
|
||||
}
|
||||
case LM_BODY_RESET:
|
||||
{
|
||||
worldObjects[var_6].body = evalVar();
|
||||
worldObjects[var_6].anim = evalVar();
|
||||
ListWorldObjets[var_6].body = evalVar();
|
||||
ListWorldObjets[var_6].anim = evalVar();
|
||||
break;
|
||||
}
|
||||
case LM_TYPE:
|
||||
|
@ -553,100 +553,100 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
lifeTempVar1 = (*(s16*)(currentLifePtr)) & TYPE_MASK;
|
||||
currentLifePtr += 2;
|
||||
|
||||
lifeTempVar2 = worldObjects[var_6].flags;
|
||||
lifeTempVar2 = ListWorldObjets[var_6].flags;
|
||||
|
||||
worldObjects[var_6].flags = (worldObjects[var_6].flags & (~TYPE_MASK)) + lifeTempVar1;
|
||||
ListWorldObjets[var_6].flags = (ListWorldObjets[var_6].flags & (~TYPE_MASK)) + lifeTempVar1;
|
||||
break;
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
case LM_ANIM_ONCE:
|
||||
{
|
||||
worldObjects[var_6].anim = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].anim = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
worldObjects[var_6].animInfo = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].animInfo = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
worldObjects[var_6].animType = ANIM_ONCE;
|
||||
ListWorldObjets[var_6].animType = ANIM_ONCE;
|
||||
if (g_gameId >= JACK)
|
||||
worldObjects[var_6].frame = 0;
|
||||
ListWorldObjets[var_6].frame = 0;
|
||||
break;
|
||||
}
|
||||
case LM_ANIM_REPEAT:
|
||||
{
|
||||
worldObjects[var_6].anim = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].anim = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
worldObjects[var_6].animInfo = -1;
|
||||
worldObjects[var_6].animType = ANIM_REPEAT;
|
||||
ListWorldObjets[var_6].animInfo = -1;
|
||||
ListWorldObjets[var_6].animType = ANIM_REPEAT;
|
||||
if (g_gameId >= JACK)
|
||||
worldObjects[var_6].frame = 0;
|
||||
ListWorldObjets[var_6].frame = 0;
|
||||
break;
|
||||
}
|
||||
case LM_ANIM_ALL_ONCE:
|
||||
{
|
||||
worldObjects[var_6].anim = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].anim = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
worldObjects[var_6].animInfo = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].animInfo = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
worldObjects[var_6].animType = ANIM_ONCE | ANIM_UNINTERRUPTABLE;
|
||||
ListWorldObjets[var_6].animType = ANIM_ONCE | ANIM_UNINTERRUPTABLE;
|
||||
if (g_gameId >= JACK)
|
||||
worldObjects[var_6].frame = 0;
|
||||
ListWorldObjets[var_6].frame = 0;
|
||||
break;
|
||||
}
|
||||
case LM_ANIM_RESET:
|
||||
{
|
||||
ASSERT(g_gameId >= JACK);
|
||||
worldObjects[var_6].anim = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].anim = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
worldObjects[var_6].animInfo = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].animInfo = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
worldObjects[var_6].animType = ANIM_ONCE | ANIM_RESET;
|
||||
worldObjects[var_6].frame = 0;
|
||||
ListWorldObjets[var_6].animType = ANIM_ONCE | ANIM_RESET;
|
||||
ListWorldObjets[var_6].frame = 0;
|
||||
break;
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
case LM_MOVE: // MOVE
|
||||
{
|
||||
worldObjects[var_6].trackMode = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].trackMode = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
|
||||
worldObjects[var_6].trackNumber = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].trackNumber = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
|
||||
worldObjects[var_6].positionInTrack = 0;
|
||||
ListWorldObjets[var_6].positionInTrack = 0;
|
||||
|
||||
if (g_gameId > AITD1)
|
||||
{
|
||||
worldObjects[var_6].mark = -1;
|
||||
ListWorldObjets[var_6].mark = -1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case LM_ANGLE:
|
||||
{
|
||||
worldObjects[var_6].alpha = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].alpha = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
|
||||
worldObjects[var_6].beta = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].beta = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
|
||||
worldObjects[var_6].gamma = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].gamma = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
|
||||
break;
|
||||
}
|
||||
case LM_STAGE: // stage
|
||||
{
|
||||
worldObjects[var_6].stage = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].stage = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
|
||||
worldObjects[var_6].room = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].room = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
|
||||
worldObjects[var_6].x = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].x = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
|
||||
worldObjects[var_6].y = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].y = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
|
||||
worldObjects[var_6].z = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].z = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
|
||||
//FlagGenereActiveList = 1;
|
||||
|
@ -657,11 +657,11 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
{
|
||||
if (*(s16*)(currentLifePtr))
|
||||
{
|
||||
worldObjects[var_6].flags |= 0x20;
|
||||
ListWorldObjets[var_6].flags |= 0x20;
|
||||
}
|
||||
else
|
||||
{
|
||||
worldObjects[var_6].flags &= 0xFFDF;
|
||||
ListWorldObjets[var_6].flags &= 0xFFDF;
|
||||
}
|
||||
|
||||
currentLifePtr += 2;
|
||||
|
@ -671,7 +671,7 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
////////////////////////////////////////////////////////////////////////
|
||||
case LM_LIFE:
|
||||
{
|
||||
worldObjects[var_6].life = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].life = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
break;
|
||||
}
|
||||
|
@ -681,38 +681,38 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
currentLifePtr += 2;
|
||||
|
||||
|
||||
if (lifeTempVar1 != worldObjects[var_6].lifeMode)
|
||||
if (lifeTempVar1 != ListWorldObjets[var_6].lifeMode)
|
||||
{
|
||||
worldObjects[var_6].lifeMode = lifeTempVar1;
|
||||
ListWorldObjets[var_6].lifeMode = lifeTempVar1;
|
||||
//FlagGenereActiveList = 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case LM_FOUND_NAME: // FOUND_NAME
|
||||
{
|
||||
worldObjects[var_6].foundName = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].foundName = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
|
||||
break;
|
||||
}
|
||||
case LM_FOUND_BODY: // FOUND_BODY
|
||||
{
|
||||
worldObjects[var_6].foundBody = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].foundBody = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
|
||||
break;
|
||||
}
|
||||
case LM_FOUND_FLAG: // FOUND_FLAG
|
||||
{
|
||||
worldObjects[var_6].flags2 &= 0xE000;
|
||||
worldObjects[var_6].flags2 |= *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].flags2 &= 0xE000;
|
||||
ListWorldObjets[var_6].flags2 |= *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
|
||||
break;
|
||||
}
|
||||
case LM_FOUND_WEIGHT:
|
||||
{
|
||||
worldObjects[var_6].positionInTrack = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[var_6].positionInTrack = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
|
||||
break;
|
||||
|
@ -752,7 +752,7 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
{
|
||||
lifeTempVar1 = evalVar();
|
||||
|
||||
worldObjects[currentProcessedActorPtr->indexInWorld].body = lifeTempVar1;
|
||||
ListWorldObjets[currentProcessedActorPtr->indexInWorld].body = lifeTempVar1;
|
||||
|
||||
if (currentProcessedActorPtr->bodyNum != lifeTempVar1)
|
||||
{
|
||||
|
@ -797,8 +797,8 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
int param1 = evalVar("body");
|
||||
int param2 = evalVar("anim");
|
||||
|
||||
worldObjects[currentProcessedActorPtr->indexInWorld].body = param1;
|
||||
worldObjects[currentProcessedActorPtr->indexInWorld].anim = param2;
|
||||
ListWorldObjets[currentProcessedActorPtr->indexInWorld].body = param1;
|
||||
ListWorldObjets[currentProcessedActorPtr->indexInWorld].anim = param2;
|
||||
|
||||
currentProcessedActorPtr->bodyNum = param1;
|
||||
|
||||
|
@ -1252,9 +1252,18 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
case LM_COPY_ANGLE:
|
||||
{
|
||||
appendFormated("LM_COPY_ANGLE ");
|
||||
// TODO !
|
||||
printf("LM_COPY_ANGLE\n");
|
||||
currentLifePtr += 2;
|
||||
int object = readNextArgument("object");
|
||||
int localObjectIndex = ListWorldObjets[object].objIndex;
|
||||
if (localObjectIndex == -1) {
|
||||
currentProcessedActorPtr->alpha = ListWorldObjets[object].alpha;
|
||||
currentProcessedActorPtr->beta = ListWorldObjets[object].beta;
|
||||
currentProcessedActorPtr->gamma = ListWorldObjets[object].gamma;
|
||||
}
|
||||
else {
|
||||
currentProcessedActorPtr->alpha = objectTable[localObjectIndex].alpha;
|
||||
currentProcessedActorPtr->beta = objectTable[localObjectIndex].beta;
|
||||
currentProcessedActorPtr->gamma = objectTable[localObjectIndex].gamma;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case LM_STAGE: // STAGE
|
||||
|
@ -1302,7 +1311,7 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
case LM_STAGE_LIFE:
|
||||
{
|
||||
appendFormated("LM_STAGE_LIFE ");
|
||||
worldObjects[currentProcessedActorPtr->indexInWorld].floorLife = readNextArgument("stageLife");
|
||||
ListWorldObjets[currentProcessedActorPtr->indexInWorld].floorLife = readNextArgument("stageLife");
|
||||
break;
|
||||
}
|
||||
case LM_LIFE_MODE: // LIFE_MODE
|
||||
|
@ -1341,13 +1350,13 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
|
||||
deleteObject(lifeTempVar1);
|
||||
|
||||
if (worldObjects[lifeTempVar1].foundBody != -1)
|
||||
if (ListWorldObjets[lifeTempVar1].foundBody != -1)
|
||||
{
|
||||
if (g_gameId == AITD1) // TODO: check, really usefull ?
|
||||
if (g_gameId == AITD1) // TODO: check, really useful ?
|
||||
{
|
||||
worldObjects[lifeTempVar1].flags2 &= 0x7FFF;
|
||||
ListWorldObjets[lifeTempVar1].flags2 &= 0x7FFF;
|
||||
}
|
||||
worldObjects[lifeTempVar1].flags2 |= 0x4000;
|
||||
ListWorldObjets[lifeTempVar1].flags2 |= 0x4000;
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -1359,9 +1368,9 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
|
||||
switch (lifeTempVar1)
|
||||
{
|
||||
case 0:
|
||||
case 0: // evaporate
|
||||
{
|
||||
createFlow(0,
|
||||
InitSpecialObjet(0,
|
||||
currentProcessedActorPtr->roomX + currentProcessedActorPtr->stepX,
|
||||
currentProcessedActorPtr->roomY + currentProcessedActorPtr->stepY,
|
||||
currentProcessedActorPtr->roomZ + currentProcessedActorPtr->stepZ,
|
||||
|
@ -1373,11 +1382,11 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
¤tProcessedActorPtr->zv);
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
case 1: // flow
|
||||
{
|
||||
currentProcessedActorPtr = &objectTable[currentProcessedActorPtr->HIT_BY];
|
||||
|
||||
createFlow(1,
|
||||
InitSpecialObjet(1,
|
||||
currentProcessedActorPtr->roomX + currentProcessedActorPtr->stepX + currentProcessedActorPtr->hotPoint.x,
|
||||
currentProcessedActorPtr->roomY + currentProcessedActorPtr->stepY + currentProcessedActorPtr->hotPoint.y,
|
||||
currentProcessedActorPtr->roomZ + currentProcessedActorPtr->stepZ + currentProcessedActorPtr->hotPoint.z,
|
||||
|
@ -1393,9 +1402,9 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
case 4: // cigar smoke
|
||||
{
|
||||
createFlow(4,
|
||||
InitSpecialObjet(4,
|
||||
currentProcessedActorPtr->roomX + currentProcessedActorPtr->stepX,
|
||||
currentProcessedActorPtr->roomY + currentProcessedActorPtr->stepY,
|
||||
currentProcessedActorPtr->roomZ + currentProcessedActorPtr->stepZ,
|
||||
|
@ -1547,7 +1556,7 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
case LM_FOUND_NAME: // FOUND_NAME
|
||||
{
|
||||
appendFormated("LM_FOUND_NAME ");
|
||||
worldObjects[currentProcessedActorPtr->indexInWorld].foundName = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[currentProcessedActorPtr->indexInWorld].foundName = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
|
||||
break;
|
||||
|
@ -1555,7 +1564,7 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
case LM_FOUND_BODY: // FOUND_BODY
|
||||
{
|
||||
appendFormated("LM_FOUND_BODY ");
|
||||
worldObjects[currentProcessedActorPtr->indexInWorld].foundBody = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[currentProcessedActorPtr->indexInWorld].foundBody = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
|
||||
break;
|
||||
|
@ -1563,15 +1572,15 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
case LM_FOUND_FLAG: // FOUND_FLAG
|
||||
{
|
||||
appendFormated("LM_FOUND_FLAG ");
|
||||
worldObjects[currentProcessedActorPtr->indexInWorld].flags2 &= 0xE000;
|
||||
worldObjects[currentProcessedActorPtr->indexInWorld].flags2 |= *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[currentProcessedActorPtr->indexInWorld].flags2 &= 0xE000;
|
||||
ListWorldObjets[currentProcessedActorPtr->indexInWorld].flags2 |= *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
break;
|
||||
}
|
||||
case LM_FOUND_WEIGHT: // FOUND_WEIGHT
|
||||
{
|
||||
appendFormated("LM_FOUND_WEIGHT ");
|
||||
worldObjects[currentProcessedActorPtr->indexInWorld].positionInTrack = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[currentProcessedActorPtr->indexInWorld].positionInTrack = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
|
||||
break;
|
||||
|
@ -1579,7 +1588,7 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
case LM_FOUND_LIFE: // FOUND_LIFE
|
||||
{
|
||||
appendFormated("LM_FOUND_LIFE ");
|
||||
worldObjects[currentProcessedActorPtr->indexInWorld].foundLife = *(s16*)(currentLifePtr);
|
||||
ListWorldObjets[currentProcessedActorPtr->indexInWorld].foundLife = *(s16*)(currentLifePtr);
|
||||
currentLifePtr += 2;
|
||||
|
||||
break;
|
||||
|
@ -1905,7 +1914,7 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
|
||||
if (lifeTempVar1 != currentWorldTarget) // same target
|
||||
{
|
||||
lifeTempVar2 = worldObjects[lifeTempVar1].objIndex;
|
||||
lifeTempVar2 = ListWorldObjets[lifeTempVar1].objIndex;
|
||||
|
||||
if (lifeTempVar2 != -1)
|
||||
{
|
||||
|
@ -1951,18 +1960,18 @@ void processLife(int lifeNum, bool callFoundLife)
|
|||
else // different stage
|
||||
{
|
||||
currentWorldTarget = lifeTempVar1;
|
||||
if (worldObjects[lifeTempVar1].stage != g_currentFloor)
|
||||
if (ListWorldObjets[lifeTempVar1].stage != g_currentFloor)
|
||||
{
|
||||
changeFloor = 1;
|
||||
newFloor = worldObjects[lifeTempVar1].stage;
|
||||
newRoom = worldObjects[lifeTempVar1].room;
|
||||
newFloor = ListWorldObjets[lifeTempVar1].stage;
|
||||
newRoom = ListWorldObjets[lifeTempVar1].room;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (currentRoom != worldObjects[lifeTempVar1].room)
|
||||
if (currentRoom != ListWorldObjets[lifeTempVar1].room)
|
||||
{
|
||||
needChangeRoom = 1;
|
||||
newRoom = worldObjects[lifeTempVar1].room;
|
||||
newRoom = ListWorldObjets[lifeTempVar1].room;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -138,7 +138,7 @@ extern enumLifeMacro AITD1LifeMacroTable[];
|
|||
extern enumLifeMacro AITD2LifeMacroTable[];
|
||||
|
||||
void processLife(int lifeNum, bool callFoundLife);
|
||||
int createFlow( int mode, int X, int Y, int Z, int stage, int room, int alpha, int beta, int gamma, ZVStruct* zvPtr);
|
||||
int InitSpecialObjet( int mode, int X, int Y, int Z, int stage, int room, int alpha, int beta, int gamma, ZVStruct* zvPtr);
|
||||
void animMove(int a,int b,int c,int d,int e,int f,int g);
|
||||
void doRealZv(tObject* actorPtr);
|
||||
void setStage(int newStage, int newRoomLocal, int X, int Y, int Z);
|
||||
|
|
|
@ -172,9 +172,9 @@ void executeFoundLife(int objIdx)
|
|||
if(objIdx == -1)
|
||||
return;
|
||||
|
||||
foundLife = worldObjects[objIdx].foundLife;
|
||||
foundLife = ListWorldObjets[objIdx].foundLife;
|
||||
|
||||
if(worldObjects[objIdx].foundLife == -1)
|
||||
if(ListWorldObjets[objIdx].foundLife == -1)
|
||||
return;
|
||||
|
||||
currentActorPtr = currentProcessedActorPtr;
|
||||
|
@ -190,7 +190,7 @@ void executeFoundLife(int objIdx)
|
|||
|
||||
var_2 = 0;
|
||||
|
||||
actorIdx = worldObjects[objIdx].objIndex;
|
||||
actorIdx = ListWorldObjets[objIdx].objIndex;
|
||||
|
||||
if(actorIdx==-1)
|
||||
{
|
||||
|
@ -1058,94 +1058,94 @@ void initEngine(void)
|
|||
maxObjects = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects.resize(maxObjects);
|
||||
ListWorldObjets.resize(maxObjects);
|
||||
|
||||
for(i=0;i<maxObjects;i++)
|
||||
{
|
||||
worldObjects[i].objIndex = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].objIndex = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].body = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].body = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].flags = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].flags = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].typeZV = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].typeZV = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].foundBody = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].foundBody = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].foundName = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].foundName = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].flags2 = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].flags2 = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].foundLife = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].foundLife = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].x = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].x = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].y = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].y = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].z = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].z = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].alpha = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].alpha = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].beta = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].beta = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].gamma = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].gamma = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].stage = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].stage = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].room = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].room = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].lifeMode = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].lifeMode = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].life = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].life = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].floorLife = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].floorLife = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].anim = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].anim = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].frame = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].frame = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].animType = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].animType = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].animInfo = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].animInfo = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].trackMode = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].trackMode = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].trackNumber = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].trackNumber = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
worldObjects[i].positionInTrack = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].positionInTrack = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
|
||||
if(g_gameId >= JACK)
|
||||
{
|
||||
worldObjects[i].mark = READ_LE_U16(pObjectData);
|
||||
ListWorldObjets[i].mark = READ_LE_U16(pObjectData);
|
||||
pObjectData+=2;
|
||||
}
|
||||
worldObjects[i].flags |= 0x20;
|
||||
ListWorldObjets[i].flags |= 0x20;
|
||||
}
|
||||
|
||||
free(pObjectDataBackup);
|
||||
|
@ -1692,7 +1692,7 @@ void DeleteObjet(int index) // remove actor
|
|||
{
|
||||
if(actorPtr->indexInWorld >= 0)
|
||||
{
|
||||
tWorldObject* objectPtr = &worldObjects[actorPtr->indexInWorld];
|
||||
tWorldObject* objectPtr = &ListWorldObjets[actorPtr->indexInWorld];
|
||||
|
||||
objectPtr->objIndex = -1;
|
||||
actorPtr->indexInWorld = -1;
|
||||
|
@ -2034,7 +2034,7 @@ void updateAllActorAndObjectsAITD2()
|
|||
|
||||
for(int i=0;i<maxObjects;i++)
|
||||
{
|
||||
tWorldObject* currentObject = &worldObjects[i];
|
||||
tWorldObject* currentObject = &ListWorldObjets[i];
|
||||
|
||||
if(currentObject->objIndex != -1)
|
||||
{
|
||||
|
@ -2241,7 +2241,7 @@ void updateAllActorAndObjects()
|
|||
currentActor++;
|
||||
}
|
||||
|
||||
currentObject = &worldObjects[0];
|
||||
currentObject = &ListWorldObjets[0];
|
||||
|
||||
for(i=0;i<maxObjects;i++)
|
||||
{
|
||||
|
@ -2579,7 +2579,7 @@ void DeleteInventoryObjet(int objIdx)
|
|||
numObjInInventoryTable[currentInventory]--;
|
||||
}
|
||||
|
||||
worldObjects[objIdx].flags2 &= 0x7FFF;
|
||||
ListWorldObjets[objIdx].flags2 &= 0x7FFF;
|
||||
}
|
||||
|
||||
void deleteObject(int objIdx)
|
||||
|
@ -2588,7 +2588,7 @@ void deleteObject(int objIdx)
|
|||
int actorIdx;
|
||||
tObject* actorPtr;
|
||||
|
||||
objPtr = &worldObjects[objIdx];
|
||||
objPtr = &ListWorldObjets[objIdx];
|
||||
actorIdx = objPtr->objIndex;
|
||||
|
||||
if(actorIdx != -1)
|
||||
|
@ -3573,7 +3573,7 @@ void drawFoundObect(int menuState,int objectName,int zoomFactor)
|
|||
|
||||
void take(int objIdx)
|
||||
{
|
||||
tWorldObject* objPtr = &worldObjects[objIdx];
|
||||
tWorldObject* objPtr = &ListWorldObjets[objIdx];
|
||||
|
||||
if(numObjInInventoryTable[currentInventory] == 0)
|
||||
{
|
||||
|
@ -3626,7 +3626,7 @@ void foundObject(int objIdx, int param)
|
|||
printf("foundObject with param == 2\n");
|
||||
}
|
||||
|
||||
objPtr = &worldObjects[objIdx];
|
||||
objPtr = &ListWorldObjets[objIdx];
|
||||
|
||||
if( param != 0 && (objPtr->flags2 & 0xC000))
|
||||
{
|
||||
|
@ -3647,7 +3647,7 @@ void foundObject(int objIdx, int param)
|
|||
int weight = 0;
|
||||
for(i=0;i<numObjInInventoryTable[currentInventory];i++)
|
||||
{
|
||||
weight += worldObjects[inventoryTable[currentInventory][i]].positionInTrack;
|
||||
weight += ListWorldObjets[inventoryTable[currentInventory][i]].positionInTrack;
|
||||
}
|
||||
|
||||
if(objPtr->positionInTrack + weight > CVars[getCVarsIdx(MAX_WEIGHT_LOADABLE)] || numObjInInventoryTable[currentInventory] +1 == 30)
|
||||
|
@ -4268,7 +4268,7 @@ void processActor2()
|
|||
{
|
||||
int life;
|
||||
|
||||
life = worldObjects[currentProcessedActorPtr->indexInWorld].floorLife;
|
||||
life = ListWorldObjets[currentProcessedActorPtr->indexInWorld].floorLife;
|
||||
|
||||
if(life==-1)
|
||||
return;
|
||||
|
@ -4382,8 +4382,8 @@ int checkLineProjectionWithActors( int actorIdx, int X, int Y, int Z, int beta,
|
|||
|
||||
void PutAtObjet(int objIdx, int objIdxToPutAt)
|
||||
{
|
||||
tWorldObject* objPtr = &worldObjects[objIdx];
|
||||
tWorldObject* objPtrToPutAt = &worldObjects[objIdxToPutAt];
|
||||
tWorldObject* objPtr = &ListWorldObjets[objIdx];
|
||||
tWorldObject* objPtrToPutAt = &ListWorldObjets[objIdxToPutAt];
|
||||
|
||||
if(objPtrToPutAt->objIndex != -1)
|
||||
{
|
||||
|
@ -4419,8 +4419,8 @@ void PutAtObjet(int objIdx, int objIdxToPutAt)
|
|||
currentProcessedActorPtr->beta = actorToPutAtPtr->beta;
|
||||
currentProcessedActorPtr->gamma = actorToPutAtPtr->gamma;
|
||||
|
||||
worldObjects[currentProcessedActorPtr->indexInWorld].flags2 |= 0x4000;
|
||||
worldObjects[currentProcessedActorPtr->indexInWorld].flags |= 0x80;
|
||||
ListWorldObjets[currentProcessedActorPtr->indexInWorld].flags2 |= 0x4000;
|
||||
ListWorldObjets[currentProcessedActorPtr->indexInWorld].flags |= 0x80;
|
||||
|
||||
// FlagGenereActiveList = 1;
|
||||
// FlagRefreshAux2 = 1;
|
||||
|
@ -4459,8 +4459,8 @@ void PutAtObjet(int objIdx, int objIdxToPutAt)
|
|||
currentProcessedActorPtr->beta = objPtrToPutAt->beta;
|
||||
currentProcessedActorPtr->gamma = objPtrToPutAt->gamma;
|
||||
|
||||
worldObjects[currentProcessedActorPtr->indexInWorld].flags2 |= 0x4000;
|
||||
worldObjects[currentProcessedActorPtr->indexInWorld].flags |= 0x80;
|
||||
ListWorldObjets[currentProcessedActorPtr->indexInWorld].flags2 |= 0x4000;
|
||||
ListWorldObjets[currentProcessedActorPtr->indexInWorld].flags |= 0x80;
|
||||
|
||||
// FlagGenereActiveList = 1;
|
||||
// FlagRefreshAux2 = 1;
|
||||
|
@ -4561,8 +4561,8 @@ void throwStoppedAt(int x, int z)
|
|||
currentProcessedActorPtr->zv.ZVZ1 += z2;
|
||||
currentProcessedActorPtr->zv.ZVZ2 += z2;
|
||||
|
||||
worldObjects[currentProcessedActorPtr->indexInWorld].flags2 |= 0x4000;
|
||||
worldObjects[currentProcessedActorPtr->indexInWorld].flags2 &= 0xEFFF;
|
||||
ListWorldObjets[currentProcessedActorPtr->indexInWorld].flags2 |= 0x4000;
|
||||
ListWorldObjets[currentProcessedActorPtr->indexInWorld].flags2 &= 0xEFFF;
|
||||
|
||||
addActorToBgInscrust(currentProcessedActorIdx);
|
||||
}
|
||||
|
|
208
FitdLib/save.cpp
208
FitdLib/save.cpp
|
@ -98,83 +98,83 @@ int loadSave(int saveNumber)
|
|||
|
||||
for(i=0;i<maxObjects;i++)
|
||||
{
|
||||
ASSERT(sizeof(worldObjects[i].objIndex) == 2);
|
||||
fread(&worldObjects[i].objIndex,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].objIndex) == 2);
|
||||
fread(&ListWorldObjets[i].objIndex,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].body) == 2);
|
||||
fread(&worldObjects[i].body,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].body) == 2);
|
||||
fread(&ListWorldObjets[i].body,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].flags) == 2);
|
||||
fread(&worldObjects[i].flags,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].flags) == 2);
|
||||
fread(&ListWorldObjets[i].flags,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].typeZV) == 2);
|
||||
fread(&worldObjects[i].typeZV,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].typeZV) == 2);
|
||||
fread(&ListWorldObjets[i].typeZV,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].foundBody) == 2);
|
||||
fread(&worldObjects[i].foundBody,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].foundBody) == 2);
|
||||
fread(&ListWorldObjets[i].foundBody,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].foundName) == 2);
|
||||
fread(&worldObjects[i].foundName,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].foundName) == 2);
|
||||
fread(&ListWorldObjets[i].foundName,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].flags2) == 2);
|
||||
fread(&worldObjects[i].flags2,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].flags2) == 2);
|
||||
fread(&ListWorldObjets[i].flags2,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].foundLife) == 2);
|
||||
fread(&worldObjects[i].foundLife,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].foundLife) == 2);
|
||||
fread(&ListWorldObjets[i].foundLife,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].x) == 2);
|
||||
fread(&worldObjects[i].x,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].x) == 2);
|
||||
fread(&ListWorldObjets[i].x,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].y) == 2);
|
||||
fread(&worldObjects[i].y,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].y) == 2);
|
||||
fread(&ListWorldObjets[i].y,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].z) == 2);
|
||||
fread(&worldObjects[i].z,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].z) == 2);
|
||||
fread(&ListWorldObjets[i].z,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].alpha) == 2);
|
||||
fread(&worldObjects[i].alpha,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].alpha) == 2);
|
||||
fread(&ListWorldObjets[i].alpha,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].beta) == 2);
|
||||
fread(&worldObjects[i].beta,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].beta) == 2);
|
||||
fread(&ListWorldObjets[i].beta,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].gamma) == 2);
|
||||
fread(&worldObjects[i].gamma,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].gamma) == 2);
|
||||
fread(&ListWorldObjets[i].gamma,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].stage) == 2);
|
||||
fread(&worldObjects[i].stage,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].stage) == 2);
|
||||
fread(&ListWorldObjets[i].stage,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].room) == 2);
|
||||
fread(&worldObjects[i].room,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].room) == 2);
|
||||
fread(&ListWorldObjets[i].room,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].lifeMode) == 2);
|
||||
fread(&worldObjects[i].lifeMode,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].lifeMode) == 2);
|
||||
fread(&ListWorldObjets[i].lifeMode,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].life) == 2);
|
||||
fread(&worldObjects[i].life,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].life) == 2);
|
||||
fread(&ListWorldObjets[i].life,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].floorLife) == 2);
|
||||
fread(&worldObjects[i].floorLife,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].floorLife) == 2);
|
||||
fread(&ListWorldObjets[i].floorLife,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].anim) == 2);
|
||||
fread(&worldObjects[i].anim,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].anim) == 2);
|
||||
fread(&ListWorldObjets[i].anim,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].frame) == 2);
|
||||
fread(&worldObjects[i].frame,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].frame) == 2);
|
||||
fread(&ListWorldObjets[i].frame,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].animType) == 2);
|
||||
fread(&worldObjects[i].animType,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].animType) == 2);
|
||||
fread(&ListWorldObjets[i].animType,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].animInfo) == 2);
|
||||
fread(&worldObjects[i].animInfo,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].animInfo) == 2);
|
||||
fread(&ListWorldObjets[i].animInfo,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].trackMode) == 2);
|
||||
fread(&worldObjects[i].trackMode,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].trackMode) == 2);
|
||||
fread(&ListWorldObjets[i].trackMode,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].trackNumber) == 2);
|
||||
fread(&worldObjects[i].trackNumber,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].trackNumber) == 2);
|
||||
fread(&ListWorldObjets[i].trackNumber,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].positionInTrack) == 2);
|
||||
fread(&worldObjects[i].positionInTrack,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].positionInTrack) == 2);
|
||||
fread(&ListWorldObjets[i].positionInTrack,2,1,fHandle);
|
||||
}
|
||||
|
||||
if(g_gameId == AITD1)
|
||||
|
@ -609,83 +609,83 @@ int makeSaveFile(int entry)
|
|||
|
||||
for(i=0;i<maxObjects;i++)
|
||||
{
|
||||
ASSERT(sizeof(worldObjects[i].objIndex) == 2);
|
||||
fwrite(&worldObjects[i].objIndex,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].objIndex) == 2);
|
||||
fwrite(&ListWorldObjets[i].objIndex,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].body) == 2);
|
||||
fwrite(&worldObjects[i].body,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].body) == 2);
|
||||
fwrite(&ListWorldObjets[i].body,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].flags) == 2);
|
||||
fwrite(&worldObjects[i].flags,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].flags) == 2);
|
||||
fwrite(&ListWorldObjets[i].flags,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].typeZV) == 2);
|
||||
fwrite(&worldObjects[i].typeZV,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].typeZV) == 2);
|
||||
fwrite(&ListWorldObjets[i].typeZV,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].foundBody) == 2);
|
||||
fwrite(&worldObjects[i].foundBody,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].foundBody) == 2);
|
||||
fwrite(&ListWorldObjets[i].foundBody,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].foundName) == 2);
|
||||
fwrite(&worldObjects[i].foundName,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].foundName) == 2);
|
||||
fwrite(&ListWorldObjets[i].foundName,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].flags2) == 2);
|
||||
fwrite(&worldObjects[i].flags2,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].flags2) == 2);
|
||||
fwrite(&ListWorldObjets[i].flags2,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].foundLife) == 2);
|
||||
fwrite(&worldObjects[i].foundLife,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].foundLife) == 2);
|
||||
fwrite(&ListWorldObjets[i].foundLife,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].x) == 2);
|
||||
fwrite(&worldObjects[i].x,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].x) == 2);
|
||||
fwrite(&ListWorldObjets[i].x,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].y) == 2);
|
||||
fwrite(&worldObjects[i].y,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].y) == 2);
|
||||
fwrite(&ListWorldObjets[i].y,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].z) == 2);
|
||||
fwrite(&worldObjects[i].z,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].z) == 2);
|
||||
fwrite(&ListWorldObjets[i].z,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].alpha) == 2);
|
||||
fwrite(&worldObjects[i].alpha,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].alpha) == 2);
|
||||
fwrite(&ListWorldObjets[i].alpha,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].beta) == 2);
|
||||
fwrite(&worldObjects[i].beta,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].beta) == 2);
|
||||
fwrite(&ListWorldObjets[i].beta,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].gamma) == 2);
|
||||
fwrite(&worldObjects[i].gamma,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].gamma) == 2);
|
||||
fwrite(&ListWorldObjets[i].gamma,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].stage) == 2);
|
||||
fwrite(&worldObjects[i].stage,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].stage) == 2);
|
||||
fwrite(&ListWorldObjets[i].stage,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].room) == 2);
|
||||
fwrite(&worldObjects[i].room,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].room) == 2);
|
||||
fwrite(&ListWorldObjets[i].room,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].lifeMode) == 2);
|
||||
fwrite(&worldObjects[i].lifeMode,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].lifeMode) == 2);
|
||||
fwrite(&ListWorldObjets[i].lifeMode,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].life) == 2);
|
||||
fwrite(&worldObjects[i].life,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].life) == 2);
|
||||
fwrite(&ListWorldObjets[i].life,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].floorLife) == 2);
|
||||
fwrite(&worldObjects[i].floorLife,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].floorLife) == 2);
|
||||
fwrite(&ListWorldObjets[i].floorLife,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].anim) == 2);
|
||||
fwrite(&worldObjects[i].anim,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].anim) == 2);
|
||||
fwrite(&ListWorldObjets[i].anim,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].frame) == 2);
|
||||
fwrite(&worldObjects[i].frame,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].frame) == 2);
|
||||
fwrite(&ListWorldObjets[i].frame,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].animType) == 2);
|
||||
fwrite(&worldObjects[i].animType,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].animType) == 2);
|
||||
fwrite(&ListWorldObjets[i].animType,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].animInfo) == 2);
|
||||
fwrite(&worldObjects[i].animInfo,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].animInfo) == 2);
|
||||
fwrite(&ListWorldObjets[i].animInfo,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].trackMode) == 2);
|
||||
fwrite(&worldObjects[i].trackMode,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].trackMode) == 2);
|
||||
fwrite(&ListWorldObjets[i].trackMode,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].trackNumber) == 2);
|
||||
fwrite(&worldObjects[i].trackNumber,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].trackNumber) == 2);
|
||||
fwrite(&ListWorldObjets[i].trackNumber,2,1,fHandle);
|
||||
|
||||
ASSERT(sizeof(worldObjects[i].positionInTrack) == 2);
|
||||
fwrite(&worldObjects[i].positionInTrack,2,1,fHandle);
|
||||
ASSERT(sizeof(ListWorldObjets[i].positionInTrack) == 2);
|
||||
fwrite(&ListWorldObjets[i].positionInTrack,2,1,fHandle);
|
||||
}
|
||||
|
||||
if(g_gameId == AITD1)
|
||||
|
|
|
@ -217,7 +217,7 @@ void processTrack(void)
|
|||
}
|
||||
case 2: // follow
|
||||
{
|
||||
int followedActorIdx = worldObjects[currentProcessedActorPtr->trackNumber].objIndex;
|
||||
int followedActorIdx = ListWorldObjets[currentProcessedActorPtr->trackNumber].objIndex;
|
||||
|
||||
if(followedActorIdx == -1)
|
||||
{
|
||||
|
@ -547,9 +547,9 @@ void processTrack(void)
|
|||
{
|
||||
int objNum = currentProcessedActorPtr->indexInWorld;
|
||||
|
||||
worldObjects[objNum].x = currentProcessedActorPtr->roomX + currentProcessedActorPtr->stepX;
|
||||
worldObjects[objNum].y = currentProcessedActorPtr->roomY + currentProcessedActorPtr->stepY;
|
||||
worldObjects[objNum].z = currentProcessedActorPtr->roomZ + currentProcessedActorPtr->stepZ;
|
||||
ListWorldObjets[objNum].x = currentProcessedActorPtr->roomX + currentProcessedActorPtr->stepX;
|
||||
ListWorldObjets[objNum].y = currentProcessedActorPtr->roomY + currentProcessedActorPtr->stepY;
|
||||
ListWorldObjets[objNum].z = currentProcessedActorPtr->roomZ + currentProcessedActorPtr->stepZ;
|
||||
|
||||
currentProcessedActorPtr->positionInTrack++;
|
||||
|
||||
|
@ -571,9 +571,9 @@ void processTrack(void)
|
|||
z = *(s16*)(trackPtr);
|
||||
trackPtr += 2;
|
||||
|
||||
objX = worldObjects[currentProcessedActorPtr->indexInWorld].x;
|
||||
objY = worldObjects[currentProcessedActorPtr->indexInWorld].y;
|
||||
objZ = worldObjects[currentProcessedActorPtr->indexInWorld].z;
|
||||
objX = ListWorldObjets[currentProcessedActorPtr->indexInWorld].x;
|
||||
objY = ListWorldObjets[currentProcessedActorPtr->indexInWorld].y;
|
||||
objZ = ListWorldObjets[currentProcessedActorPtr->indexInWorld].z;
|
||||
|
||||
if( currentProcessedActorPtr->roomY + currentProcessedActorPtr->stepY < y - 100
|
||||
|| currentProcessedActorPtr->roomY + currentProcessedActorPtr->stepY > y + 100)
|
||||
|
@ -641,9 +641,9 @@ void processTrack(void)
|
|||
z = *(s16*)(trackPtr);
|
||||
trackPtr += 2;
|
||||
|
||||
objX = worldObjects[currentProcessedActorPtr->indexInWorld].x;
|
||||
objY = worldObjects[currentProcessedActorPtr->indexInWorld].y;
|
||||
objZ = worldObjects[currentProcessedActorPtr->indexInWorld].z;
|
||||
objX = ListWorldObjets[currentProcessedActorPtr->indexInWorld].x;
|
||||
objY = ListWorldObjets[currentProcessedActorPtr->indexInWorld].y;
|
||||
objZ = ListWorldObjets[currentProcessedActorPtr->indexInWorld].z;
|
||||
|
||||
if( currentProcessedActorPtr->roomY + currentProcessedActorPtr->stepY < y - 100
|
||||
|| currentProcessedActorPtr->roomY + currentProcessedActorPtr->stepY > y + 100)
|
||||
|
@ -772,7 +772,7 @@ void processTrack2(void)
|
|||
}
|
||||
case 2: // follow
|
||||
{
|
||||
int followedActorIdx = worldObjects[currentProcessedActorPtr->trackNumber].objIndex;
|
||||
int followedActorIdx = ListWorldObjets[currentProcessedActorPtr->trackNumber].objIndex;
|
||||
|
||||
if(followedActorIdx == -1)
|
||||
{
|
||||
|
|
|
@ -90,7 +90,7 @@ hqrEntryStruct* listMatrix;
|
|||
|
||||
s16 maxObjects;
|
||||
|
||||
std::vector<tWorldObject> worldObjects;
|
||||
std::vector<tWorldObject> ListWorldObjets;
|
||||
|
||||
s16* vars;
|
||||
|
||||
|
|
|
@ -339,7 +339,7 @@ extern hqrEntryStruct* listMatrix;
|
|||
|
||||
extern s16 maxObjects;
|
||||
|
||||
extern std::vector<tWorldObject> worldObjects; // may be less
|
||||
extern std::vector<tWorldObject> ListWorldObjets; // may be less
|
||||
|
||||
extern s16* vars;
|
||||
|
||||
|
|
Loading…
Reference in New Issue