Cleanup some of the code

This commit is contained in:
Vincent Hamm 2024-08-17 20:27:23 -07:00
parent c066659f64
commit 2f77a8d791
11 changed files with 74 additions and 83 deletions

View File

@ -425,7 +425,7 @@ void updateAnimation(void)
if(currentProcessedActorPtr->dynFlags & 1) // hard collision enabled for actor ? if(currentProcessedActorPtr->dynFlags & 1) // hard collision enabled for actor ?
{ {
int numCol = checkForHardCol(&zvLocal, &roomDataTable[currentProcessedActorPtr->room]); int numCol = AsmCheckListCol(&zvLocal, &roomDataTable[currentProcessedActorPtr->room]);
for(int i=0;i<numCol;i++) for(int i=0;i<numCol;i++)
{ {
@ -473,7 +473,7 @@ void updateAnimation(void)
} }
else // no hard collision -> just update the flag without performing the position update else // no hard collision -> just update the flag without performing the position update
{ {
if(checkForHardCol(&zvLocal, &roomDataTable[currentProcessedActorPtr->room])) if(AsmCheckListCol(&zvLocal, &roomDataTable[currentProcessedActorPtr->room]))
{ {
currentProcessedActorPtr->HARD_COL = 1; currentProcessedActorPtr->HARD_COL = 1;
} }
@ -518,7 +518,7 @@ void updateAnimation(void)
localZv2.ZVZ1 += stepZ; localZv2.ZVZ1 += stepZ;
localZv2.ZVZ2 += stepZ; localZv2.ZVZ2 += stepZ;
if(!checkForHardCol(&localZv2, &roomDataTable[currentProcessedActorPtr->room])) if(!AsmCheckListCol(&localZv2, &roomDataTable[currentProcessedActorPtr->room]))
{ {
if(checkObjectCollisions(collisionIndex, &localZv2)) if(checkObjectCollisions(collisionIndex, &localZv2))
{ {
@ -649,7 +649,7 @@ void updateAnimation(void)
zvLocal.ZVY2 += 100; zvLocal.ZVY2 += 100;
if(currentProcessedActorPtr->roomY < -10 && !checkForHardCol(&zvLocal,&roomDataTable[currentProcessedActorPtr->room]) && !manageFall(currentProcessedActorIdx,&zvLocal)) if(currentProcessedActorPtr->roomY < -10 && !AsmCheckListCol(&zvLocal,&roomDataTable[currentProcessedActorPtr->room]) && !manageFall(currentProcessedActorIdx,&zvLocal))
{ {
InitRealValue(0, 2000, 40, &currentProcessedActorPtr->YHandler); InitRealValue(0, 2000, 40, &currentProcessedActorPtr->YHandler);
} }

View File

@ -1,31 +1,41 @@
#include "common.h" #include "common.h"
void processAnimAction(void) #define NO_FRAPPE 0
#define WAIT_FRAPPE_ANIM 1
#define FRAPPE_OK 2
#define DONE_FRAPPE 3
#define WAIT_TIR_ANIM 4
#define DO_TIR 5
#define WAIT_ANIM_THROW 6
#define WAIT_FRAME_THROW 7
#define HIT_OBJECT 8
#define THROW_OBJECT 9
#define WAIT_FRAPPE_FRAME 10
void GereFrappe(void)
{ {
switch(currentProcessedActorPtr->animActionType) switch(currentProcessedActorPtr->animActionType)
{ {
case 1: // PRE_HIT case WAIT_FRAPPE_ANIM:
if(currentProcessedActorPtr->ANIM == currentProcessedActorPtr->animActionANIM)
{ {
if(currentProcessedActorPtr->ANIM == currentProcessedActorPtr->animActionANIM) currentProcessedActorPtr->animActionType = WAIT_FRAPPE_FRAME;
{
currentProcessedActorPtr->animActionType = 10;
}
if(currentProcessedActorPtr->ANIM == currentProcessedActorPtr->animActionANIM)
{
if(currentProcessedActorPtr->FRAME == currentProcessedActorPtr->animActionFRAME)
{
currentProcessedActorPtr->animActionType = 2;
}
}
else
{
currentProcessedActorPtr->animActionType = 0;
return;
}
break;
} }
case 2: // HIT [[fallthrough]];
case WAIT_FRAPPE_FRAME:
if (currentProcessedActorPtr->ANIM != currentProcessedActorPtr->animActionANIM)
{
currentProcessedActorPtr->animActionType = NO_FRAPPE;
return;
}
if (currentProcessedActorPtr->FRAME == currentProcessedActorPtr->animActionFRAME)
{
currentProcessedActorPtr->animActionType = FRAPPE_OK;
}
return;
case FRAPPE_OK:
{ {
int x; int x;
int y; int y;
@ -75,7 +85,7 @@ void processAnimAction(void)
} }
break; break;
} }
case 4: // PRE_FIRE case 4: // WAIT_TIR_ANIM
{ {
if(currentProcessedActorPtr->ANIM != currentProcessedActorPtr->animActionANIM) if(currentProcessedActorPtr->ANIM != currentProcessedActorPtr->animActionANIM)
return; return;
@ -87,7 +97,7 @@ void processAnimAction(void)
break; break;
} }
case 5: // FIRE case 5: // DO_TIR
{ {
int touchedActor; int touchedActor;
@ -134,7 +144,7 @@ void processAnimAction(void)
} }
break; break;
} }
case 6: // PRE_THROW case 6: // WAIT_ANIM_THROW
{ {
if(currentProcessedActorPtr->ANIM == currentProcessedActorPtr->animActionANIM) if(currentProcessedActorPtr->ANIM == currentProcessedActorPtr->animActionANIM)
{ {
@ -148,7 +158,7 @@ void processAnimAction(void)
ZVStruct rangeZv; ZVStruct rangeZv;
getZvNormal(HQR_Get(listBody, objPtr->body),&rangeZv); GiveZVObjet(HQR_Get(listBody, objPtr->body),&rangeZv);
rangeZv.ZVX1 += x; rangeZv.ZVX1 += x;
rangeZv.ZVX2 += x; rangeZv.ZVX2 += x;
@ -157,26 +167,22 @@ void processAnimAction(void)
rangeZv.ZVZ1 += z; rangeZv.ZVZ1 += z;
rangeZv.ZVZ2 += z; rangeZv.ZVZ2 += z;
if(checkForHardCol(&rangeZv, &roomDataTable[currentProcessedActorPtr->room])) if(AsmCheckListCol(&rangeZv, &roomDataTable[currentProcessedActorPtr->room]))
{ {
currentProcessedActorPtr->animActionType = 0; currentProcessedActorPtr->animActionType = 0;
putAt(objIdx, currentProcessedActorPtr->indexInWorld); PutAtObjet(objIdx, currentProcessedActorPtr->indexInWorld);
} }
else else
{ {
if(currentProcessedActorPtr->FRAME == currentProcessedActorPtr->animActionFRAME) if(currentProcessedActorPtr->FRAME == currentProcessedActorPtr->animActionFRAME)
{ {
int x;
int y;
int z;
currentProcessedActorPtr->animActionType = 7; currentProcessedActorPtr->animActionType = 7;
x = currentProcessedActorPtr->roomX + currentProcessedActorPtr->hotPoint.x + currentProcessedActorPtr->stepX; int x = currentProcessedActorPtr->roomX + currentProcessedActorPtr->hotPoint.x + currentProcessedActorPtr->stepX;
y = currentProcessedActorPtr->roomY + currentProcessedActorPtr->hotPoint.y + currentProcessedActorPtr->stepY; int y = currentProcessedActorPtr->roomY + currentProcessedActorPtr->hotPoint.y + currentProcessedActorPtr->stepY;
z = currentProcessedActorPtr->roomZ + currentProcessedActorPtr->hotPoint.z + currentProcessedActorPtr->stepZ; int z = currentProcessedActorPtr->roomZ + currentProcessedActorPtr->hotPoint.z + currentProcessedActorPtr->stepZ;
removeObjFromInventory(objIdx); DeleteInventoryObjet(objIdx);
objPtr->x = x; objPtr->x = x;
objPtr->y = y; objPtr->y = y;
@ -225,7 +231,7 @@ void processAnimAction(void)
actorPtr->roomY = y; actorPtr->roomY = y;
actorPtr->roomZ = z; actorPtr->roomZ = z;
getZvNormal(HQR_Get(listBody,actorPtr->bodyNum),&actorPtr->zv); GiveZVObjet(HQR_Get(listBody,actorPtr->bodyNum),&actorPtr->zv);
actorPtr->zv.ZVX1 += x; actorPtr->zv.ZVX1 += x;
actorPtr->zv.ZVX2 += x; actorPtr->zv.ZVX2 += x;
@ -415,7 +421,7 @@ void processAnimAction(void)
} }
} }
if(checkForHardCol(&rangeZv, &roomDataTable[currentProcessedActorPtr->room])) if(AsmCheckListCol(&rangeZv, &roomDataTable[currentProcessedActorPtr->room]))
{ {
currentProcessedActorPtr->hotPoint.x = 0; currentProcessedActorPtr->hotPoint.x = 0;
currentProcessedActorPtr->hotPoint.y = 0; currentProcessedActorPtr->hotPoint.y = 0;
@ -434,21 +440,6 @@ void processAnimAction(void)
objPtr->y = ytemp; objPtr->y = ytemp;
objPtr->z = ztemp; objPtr->z = ztemp;
break;
}
case 10: // PRE_HIT_IN_GOOD_ANIM
{
if(currentProcessedActorPtr->ANIM == currentProcessedActorPtr->animActionANIM)
{
if(currentProcessedActorPtr->FRAME == currentProcessedActorPtr->animActionFRAME)
{
currentProcessedActorPtr->animActionType = 2;
}
}
else
{
currentProcessedActorPtr->animActionType = 0;
}
break; break;
} }
#ifdef FITD_DEBUGGER #ifdef FITD_DEBUGGER

View File

@ -1 +1 @@
void processAnimAction(void); void GereFrappe(void);

View File

@ -144,7 +144,7 @@ int testZvEndAnim(tObject* actorPtr,char* animPtr, int param)
localZv.ZVZ1 += animMoveZ; localZv.ZVZ1 += animMoveZ;
localZv.ZVZ2 += animMoveZ; localZv.ZVZ2 += animMoveZ;
if(checkForHardCol(&localZv, &roomDataTable[actorPtr->room])) if(AsmCheckListCol(&localZv, &roomDataTable[actorPtr->room]))
{ {
return(0); return(0);
} }
@ -152,7 +152,7 @@ int testZvEndAnim(tObject* actorPtr,char* animPtr, int param)
localZv.ZVY1 += 100; localZv.ZVY1 += 100;
localZv.ZVY2 += 100; localZv.ZVY2 += 100;
if(checkForHardCol(&localZv, &roomDataTable[actorPtr->room])) if(AsmCheckListCol(&localZv, &roomDataTable[actorPtr->room]))
{ {
return(1); return(1);
} }

View File

@ -49,7 +49,7 @@ void put(int x, int y, int z, int room, int stage, int alpha, int beta, int gamm
objPtr->beta = beta; objPtr->beta = beta;
objPtr->gamma = gamma; objPtr->gamma = gamma;
removeObjFromInventory(idx); DeleteInventoryObjet(idx);
objPtr->flags2 |= 0x4000; objPtr->flags2 |= 0x4000;
@ -59,7 +59,7 @@ void put(int x, int y, int z, int room, int stage, int alpha, int beta, int gamm
void drop(int worldIdx, int worldSource) void drop(int worldIdx, int worldSource)
{ {
putAt(worldIdx, worldSource); PutAtObjet(worldIdx, worldSource);
} }
void fire(int fireAnim, int X, int Y, int Z, int hitForce, int nextAnim) void fire(int fireAnim, int X, int Y, int Z, int hitForce, int nextAnim)
@ -1541,7 +1541,7 @@ void processLife(int lifeNum, bool callFoundLife)
objIdx2 = *(s16*)currentLifePtr; objIdx2 = *(s16*)currentLifePtr;
currentLifePtr += 2; currentLifePtr += 2;
putAt(objIdx1, objIdx2); PutAtObjet(objIdx1, objIdx2);
break; break;
} }
case LM_FOUND_NAME: // FOUND_NAME case LM_FOUND_NAME: // FOUND_NAME

View File

@ -1819,7 +1819,7 @@ void getZvRot(char* bodyPtr, ZVStruct* zvPtr, int alpha, int beta, int gamma)
int tempY; int tempY;
int tempZ; int tempZ;
getZvNormal(bodyPtr, zvPtr); GiveZVObjet(bodyPtr, zvPtr);
for(i=0;i<8;i++) for(i=0;i<8;i++)
{ {
@ -2566,7 +2566,7 @@ int findObjectInInventory(int objIdx)
return(-1); return(-1);
} }
void removeObjFromInventory(int objIdx) void DeleteInventoryObjet(int objIdx)
{ {
int inventoryIdx; int inventoryIdx;
@ -2609,7 +2609,7 @@ void deleteObject(int objIdx)
objPtr->room = -1; objPtr->room = -1;
objPtr->stage = -1; objPtr->stage = -1;
removeObjFromInventory(objIdx); DeleteInventoryObjet(objIdx);
} }
#ifdef FITD_DEBUGGER #ifdef FITD_DEBUGGER
@ -3934,7 +3934,7 @@ void handleCollision(ZVStruct* startZv, ZVStruct* zvPtr2, ZVStruct* zvPtr3)
} }
} }
int checkForHardCol(ZVStruct* zvPtr, roomDataStruct* pRoomData) int AsmCheckListCol(ZVStruct* zvPtr, roomDataStruct* pRoomData)
{ {
u16 i; u16 i;
int hardColVar = 0; int hardColVar = 0;
@ -4326,7 +4326,7 @@ int checkLineProjectionWithActors( int actorIdx, int X, int Y, int Z, int beta,
break; break;
} }
if(checkForHardCol(&localZv, &roomDataTable[room]) <= 0) if(AsmCheckListCol(&localZv, &roomDataTable[room]) <= 0)
{ {
foundFlag = -1; foundFlag = -1;
} }
@ -4380,7 +4380,7 @@ int checkLineProjectionWithActors( int actorIdx, int X, int Y, int Z, int beta,
return(foundFlag); return(foundFlag);
} }
void putAt(int objIdx, int objIdxToPutAt) void PutAtObjet(int objIdx, int objIdxToPutAt)
{ {
tWorldObject* objPtr = &worldObjects[objIdx]; tWorldObject* objPtr = &worldObjects[objIdx];
tWorldObject* objPtrToPutAt = &worldObjects[objIdxToPutAt]; tWorldObject* objPtrToPutAt = &worldObjects[objIdxToPutAt];
@ -4389,7 +4389,7 @@ void putAt(int objIdx, int objIdxToPutAt)
{ {
tObject* actorToPutAtPtr = &objectTable[objPtrToPutAt->objIndex]; tObject* actorToPutAtPtr = &objectTable[objPtrToPutAt->objIndex];
removeObjFromInventory(objIdx); DeleteInventoryObjet(objIdx);
if(objPtr->objIndex == -1) if(objPtr->objIndex == -1)
{ {
@ -4429,7 +4429,7 @@ void putAt(int objIdx, int objIdxToPutAt)
} }
else else
{ {
removeObjFromInventory(objIdx); DeleteInventoryObjet(objIdx);
if(objPtr->objIndex == -1) if(objPtr->objIndex == -1)
{ {
@ -4482,7 +4482,7 @@ void throwStoppedAt(int x, int z)
bodyPtr = (u8*)HQR_Get(listBody,currentProcessedActorPtr->bodyNum); bodyPtr = (u8*)HQR_Get(listBody,currentProcessedActorPtr->bodyNum);
getZvNormal((char*)bodyPtr,&zvLocal); GiveZVObjet((char*)bodyPtr,&zvLocal);
x2 = x; x2 = x;
y2 = (currentProcessedActorPtr->roomY/2000)*2000; y2 = (currentProcessedActorPtr->roomY/2000)*2000;
@ -4508,7 +4508,7 @@ void throwStoppedAt(int x, int z)
zvCopy.ZVZ1 += z2; zvCopy.ZVZ1 += z2;
zvCopy.ZVZ2 += z2; zvCopy.ZVZ2 += z2;
if(!checkForHardCol(&zvCopy,&roomDataTable[currentProcessedActorPtr->room])) if(!AsmCheckListCol(&zvCopy,&roomDataTable[currentProcessedActorPtr->room]))
{ {
foundPosition = 1; foundPosition = 1;
} }
@ -4520,7 +4520,7 @@ void throwStoppedAt(int x, int z)
zvCopy.ZVY1 += 100; // is the object reachable ? (100 is Carnby height. If hard col at Y + 100, carnby can't reach that spot) zvCopy.ZVY1 += 100; // is the object reachable ? (100 is Carnby height. If hard col at Y + 100, carnby can't reach that spot)
zvCopy.ZVY2 += 100; zvCopy.ZVY2 += 100;
if(!checkForHardCol(&zvCopy,&roomDataTable[currentProcessedActorPtr->room])) if(!AsmCheckListCol(&zvCopy,&roomDataTable[currentProcessedActorPtr->room]))
{ {
y2 += 2000; y2 += 2000;
foundPosition = 0; foundPosition = 0;
@ -4552,7 +4552,7 @@ void throwStoppedAt(int x, int z)
currentProcessedActorPtr->speed = 0; currentProcessedActorPtr->speed = 0;
currentProcessedActorPtr->gamma = 0; currentProcessedActorPtr->gamma = 0;
getZvNormal((char*)bodyPtr,&currentProcessedActorPtr->zv); GiveZVObjet((char*)bodyPtr,&currentProcessedActorPtr->zv);
currentProcessedActorPtr->zv.ZVX1 += x2; currentProcessedActorPtr->zv.ZVX1 += x2;
currentProcessedActorPtr->zv.ZVX2 += x2; currentProcessedActorPtr->zv.ZVX2 += x2;

View File

@ -16,9 +16,9 @@ void createActorList();
void mainDraw(int mode); void mainDraw(int mode);
int checkObjectCollisions(int actorIdx, ZVStruct* zvPtr); int checkObjectCollisions(int actorIdx, ZVStruct* zvPtr);
int checkLineProjectionWithActors( int actorIdx, int X, int Y, int Z, int beta, int room, int param ); int checkLineProjectionWithActors( int actorIdx, int X, int Y, int Z, int beta, int room, int param );
void getZvNormal(char* bodyPtr, ZVStruct* zvPtr); void GiveZVObjet(char* bodyPtr, ZVStruct* zvPtr);
int checkForHardCol(ZVStruct* zvPtr, roomDataStruct* pRoomData); int AsmCheckListCol(ZVStruct* zvPtr, roomDataStruct* pRoomData);
void removeObjFromInventory(int objIdx); void DeleteInventoryObjet(int objIdx);
void walkStep(int angle1, int angle2, int angle3); void walkStep(int angle1, int angle2, int angle3);
void throwStoppedAt(int x, int z); void throwStoppedAt(int x, int z);
sceZoneStruct* processActor2Sub(int x, int y, int z, roomDataStruct* pRoomData); sceZoneStruct* processActor2Sub(int x, int y, int z, roomDataStruct* pRoomData);
@ -53,7 +53,7 @@ void foundObject(int objIdx, int param);
void hit(int animNumber,int arg_2,int arg_4,int arg_6,int hitForce,int arg_A); void hit(int animNumber,int arg_2,int arg_4,int arg_6,int hitForce,int arg_A);
int checkZvCollision(ZVStruct* zvPtr1,ZVStruct* zvPtr2); int checkZvCollision(ZVStruct* zvPtr1,ZVStruct* zvPtr2);
void getZvCube(char* bodyPtr, ZVStruct* zvPtr); void getZvCube(char* bodyPtr, ZVStruct* zvPtr);
void putAt(int objIdx, int objIdxToPutAt); void PutAtObjet(int objIdx, int objIdxToPutAt);
void SetClip(int left, int top, int right, int bottom); void SetClip(int left, int top, int right, int bottom);
/// ///

View File

@ -148,7 +148,7 @@ void mainLoop(int allowSystemMenu, int deltaTime)
if(currentProcessedActorPtr->animActionType) if(currentProcessedActorPtr->animActionType)
{ {
processAnimAction(); GereFrappe();
} }
} }

View File

@ -159,7 +159,7 @@ int copyObjectToActor(int body, int typeZv, int hardZvIdx, s16 objectType, int x
{ {
if(body!=-1) if(body!=-1)
{ {
getZvNormal(bodyPtr,zvPtr); GiveZVObjet(bodyPtr,zvPtr);
} }
else else
{ {

View File

@ -17,7 +17,7 @@ void getZvCube(char* bodyPtr, ZVStruct* zvPtr)
zvPtr->ZVX1 = zvPtr->ZVZ1 = -zvPtr->ZVZ2; zvPtr->ZVX1 = zvPtr->ZVZ1 = -zvPtr->ZVZ2;
} }
void getZvNormal(char* bodyPtr, ZVStruct* zvPtr) void GiveZVObjet(char* bodyPtr, ZVStruct* zvPtr)
{ {
s16* ptr; s16* ptr;
@ -50,7 +50,7 @@ void getZvMax(char* bodyPtr, ZVStruct* zvPtr)
int z1; int z1;
int z2; int z2;
getZvNormal(bodyPtr,zvPtr); GiveZVObjet(bodyPtr,zvPtr);
x1 = zvPtr->ZVX1; x1 = zvPtr->ZVX1;
x2 = zvPtr->ZVX2; x2 = zvPtr->ZVX2;

View File

@ -1,7 +1,7 @@
#ifndef _ZV_H_ #ifndef _ZV_H_
#define _ZV_H_ #define _ZV_H_
void getZvCube(char* bodyPtr, ZVStruct* zvPtr); void getZvCube(char* bodyPtr, ZVStruct* zvPtr);
void getZvNormal(char* bodyPtr, ZVStruct* zvPtr); void GiveZVObjet(char* bodyPtr, ZVStruct* zvPtr);
void getZvMax(char* bodyPtr, ZVStruct* zvPtr); void getZvMax(char* bodyPtr, ZVStruct* zvPtr);
void makeDefaultZV(ZVStruct* zvPtr); void makeDefaultZV(ZVStruct* zvPtr);
void getZvMax(char* bodyPtr, ZVStruct* zvPtr); void getZvMax(char* bodyPtr, ZVStruct* zvPtr);