Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
- Exhumed: split up the message word for event messages.
  • Loading branch information
coelckers committed Oct 15, 2021
1 parent 2ee7be0 commit b725adc
Show file tree
Hide file tree
Showing 26 changed files with 154 additions and 234 deletions.
72 changes: 36 additions & 36 deletions source/games/exhumed/src/aistuff.h
Expand Up @@ -45,23 +45,23 @@ void DestroyAnim(int nAnim);
int BuildAnim(int nSprite, int val, int val2, int x, int y, int z, int nSector, int nRepeat, int nFlag);
short GetAnimSprite(short nAnim);

void FuncAnim(int, int, int);
void FuncAnim(int, int, int, int);
void BuildExplosion(short nSprite);
int BuildSplash(int nSprite, int nSector);

// anubis

void InitAnubis();
void BuildAnubis(int nSprite, int x, int y, int z, int nSector, int nAngle, uint8_t bIsDrummer);
void FuncAnubis(int a, int b, int c);
void FuncAnubis(int, int a, int b, int c);

// bubbles

void InitBubbles();
void BuildBubbleMachine(int nSprite);
void DoBubbleMachines();
void DoBubbles(int nPlayer);
void FuncBubble(int, int, int);
void FuncBubble(int, int, int, int);

// bullet

Expand Down Expand Up @@ -94,14 +94,14 @@ int MoveBullet(short nBullet);
void SetBulletEnemy(short nBullet, short nEnemy);
int BuildBullet(short nSprite, int nType, int ebx, int ecx, int val1, int nAngle, int val2, int val3);
void IgniteSprite(int nSprite);
void FuncBullet(int, int, int);
void FuncBullet(int, int, int, int);
void BackUpBullet(int *x, int *y, short nAngle);

// fish

void InitFishes();
void BuildFish(int nSprite, int x, int y, int z, int nSector, int nAngle);
void FuncFish(int, int, int);
void FuncFish(int, int, int, int);
void FuncFishLimb(int a, int b, int c);

// grenade
Expand All @@ -112,7 +112,7 @@ void InitGrenades();
void BuildGrenade(int nPlayer);
void DestroyGrenade(short nGrenade);
int ThrowGrenade(short nPlayer, int edx, int ebx, int ecx, int push1);
void FuncGrenade(int, int, int);
void FuncGrenade(int, int, int, int);

// gun

Expand Down Expand Up @@ -189,8 +189,8 @@ void DoRegenerates();
void InitLava();
void BuildLava(short nSprite, int x, int y, int z, short nSector, short nAngle, int nChannel);
int BuildLavaLimb(int nSprite, int edx, int ebx);
void FuncLavaLimb(int, int, int);
void FuncLava(int, int, int);
void FuncLavaLimb(int, int, int, int);
void FuncLava(int, int, int, int);

// lighting

Expand All @@ -212,7 +212,7 @@ extern short bTorch;

void InitLion();
void BuildLion(short nSprite, int x, int y, int z, short nSector, short nAngle);
void FuncLion(int, int, int);
void FuncLion(int, int, int, int);

// move

Expand Down Expand Up @@ -291,13 +291,13 @@ void DoMovingSects();
void DoFinale();
void PostProcess();

void FuncElev(int, int, int);
void FuncWallFace(int, int, int);
void FuncSlide(int, int, int);
void FuncObject(int, int, int);
void FuncTrap(int, int, int);
void FuncEnergyBlock(int, int, int);
void FuncSpark(int, int, int);
void FuncElev(int, int, int, int);
void FuncWallFace(int, int, int, int);
void FuncSlide(int, int, int, int);
void FuncObject(int, int, int, int);
void FuncTrap(int, int, int, int);
void FuncEnergyBlock(int, int, int, int);
void FuncSpark(int, int, int, int);
void SnapBobs(short nSectorA, short nSectorB);
short FindWallSprites(short nSector);
void AddMovingSector(int nSector, int edx, int ebx, int ecx);
Expand All @@ -318,9 +318,9 @@ int BuildSlide(int nChannel, int edx, int ebx, int ecx, int arg1, int arg2, int

void InitQueens();
void BuildQueen(int nSprite, int x, int y, int z, int nSector, int nAngle, int nVal);
void FuncQueenEgg(int, int, int);
void FuncQueenHead(int, int, int);
void FuncQueen(int, int, int);
void FuncQueenEgg(int, int, int, int);
void FuncQueenHead(int, int, int, int);
void FuncQueen(int, int, int, int);

// ra

Expand All @@ -343,27 +343,27 @@ void FreeRa(short nPlayer);
void BuildRa(short nPlayer);
void InitRa();
void MoveRaToEnemy(short nPlayer);
void FuncRa(int, int, int);
void FuncRa(int, int, int, int);

// rat

void InitRats();
void SetRatVel(short nSprite);
void BuildRat(short nSprite, int x, int y, int z, short nSector, int nAngle);
int FindFood(short nSprite);
void FuncRat(int a, int b, int nRun);
void FuncRat(int a, int, int b, int nRun);

// rex

void InitRexs();
void BuildRex(short nSprite, int x, int y, int z, short nSector, short nAngle, int nChannel);
void FuncRex(int, int, int);
void FuncRex(int, int, int, int);

// roach

void InitRoachs();
void BuildRoach(int nType, int nSprite, int x, int y, int z, short nSector, int angle);
void FuncRoach(int a, int nDamage, int nRun);
void FuncRoach(int a, int, int nDamage, int nRun);

// runlist

Expand All @@ -389,7 +389,7 @@ struct RunChannel
short d;
};

typedef void(*AiFunc)(int, int, int nRun);
typedef void(*AiFunc)(int, int, int, int nRun);

extern FreeListArray<RunStruct, kMaxRuns> RunData;
extern RunChannel sRunChannels[kMaxChannels];
Expand Down Expand Up @@ -423,14 +423,14 @@ void runlist_ExecObjects();

void InitScorp();
void BuildScorp(short nSprite, int x, int y, int z, short nSector, short nAngle, int nChannel);
void FuncScorp(int, int, int);
void FuncScorp(int, int, int, int);

// set

void InitSets();
void BuildSet(short nSprite, int x, int y, int z, short nSector, short nAngle, int nChannel);
void FuncSoul(int, int, int);
void FuncSet(int, int, int);
void FuncSoul(int, int, int, int);
void FuncSet(int, int, int, int);

// snake

Expand All @@ -457,25 +457,25 @@ extern FreeListArray<Snake, kMaxSnakes> SnakeList;
void InitSnakes();
short GrabSnake();
void BuildSnake(short nPlayer, short zVal);
void FuncSnake(int, int, int);
void FuncSnake(int, int, int, int);

// spider

void InitSpider();
int BuildSpider(int nSprite, int x, int y, int z, short nSector, int nAngle);
void FuncSpider(int a, int b, int nRun);
void FuncSpider(int a, int, int b, int nRun);

// switch

void InitLink();
void InitSwitch();

void FuncSwReady(int, int, int);
void FuncSwPause(int, int, int);
void FuncSwStepOn(int, int, int);
void FuncSwNotOnPause(int, int, int);
void FuncSwPressSector(int, int, int);
void FuncSwPressWall(int, int, int);
void FuncSwReady(int, int, int, int);
void FuncSwPause(int, int, int, int);
void FuncSwStepOn(int, int, int, int);
void FuncSwNotOnPause(int, int, int, int);
void FuncSwPressSector(int, int, int, int);
void FuncSwPressWall(int, int, int, int);

std::pair<int, int> BuildSwPause(int nChannel, int nLink, int ebx);
std::pair<int, int> BuildSwNotOnPause(int nChannel, int nLink, int nSector, int ecx);
Expand All @@ -492,7 +492,7 @@ int WaspCount();

void InitWasps();
int BuildWasp(short nSprite, int x, int y, int z, short nSector, short nAngle);
void FuncWasp(int eax, int edx, int nRun);
void FuncWasp(int eax, int, int edx, int nRun);



Expand Down
10 changes: 4 additions & 6 deletions source/games/exhumed/src/anims.cpp
Expand Up @@ -150,7 +150,7 @@ short GetAnimSprite(short nAnim)
return AnimList[nAnim].nSprite;
}

void FuncAnim(int a, int, int nRun)
void FuncAnim(int nObject, int nMessage, int, int nRun)
{
short nAnim = RunData[nRun].nVal;
assert(nAnim >= 0 && nAnim < kMaxAnims);
Expand All @@ -161,8 +161,6 @@ void FuncAnim(int a, int, int nRun)

assert(nSprite != -1);

int nMessage = a & 0x7F0000;

switch (nMessage)
{
case 0x20000:
Expand Down Expand Up @@ -273,8 +271,8 @@ void FuncAnim(int a, int, int nRun)

case 0x90000:
{
seq_PlotSequence(a & 0xFFFF, nSeq, AnimList[nAnim].field_2, 0x101);
mytsprite[a & 0xFFFF].owner = -1;
seq_PlotSequence(nObject, nSeq, AnimList[nAnim].field_2, 0x101);
mytsprite[nObject].owner = -1;
return;
}

Expand All @@ -285,7 +283,7 @@ void FuncAnim(int a, int, int nRun)

default:
{
Printf("unknown msg %x for anim\n", a & 0x7F0000);
Printf("unknown msg %x for anim\n", nMessage);
return;
}
}
Expand Down
8 changes: 3 additions & 5 deletions source/games/exhumed/src/anubis.cpp
Expand Up @@ -155,7 +155,7 @@ void BuildAnubis(int nSprite, int x, int y, int z, int nSector, int nAngle, uint
nCreaturesTotal++;
}

void FuncAnubis(int a, int nDamage, int nRun)
void FuncAnubis(int nObject, int nMessage, int nDamage, int nRun)
{
int nAnubis = RunData[nRun].nVal;
auto ap = &AnubisList[nAnubis];
Expand All @@ -167,8 +167,6 @@ void FuncAnubis(int a, int nDamage, int nRun)

bool bVal = false;

int nMessage = a & kMessageMask;

switch (nMessage)
{
default:
Expand Down Expand Up @@ -413,7 +411,7 @@ void FuncAnubis(int a, int nDamage, int nRun)

case 0x90000:
{
seq_PlotSequence(a & 0xFFFF, SeqOffsets[kSeqAnubis] + AnubisSeq[nAction].a, ap->nFrame, AnubisSeq[nAction].b);
seq_PlotSequence(nObject, SeqOffsets[kSeqAnubis] + AnubisSeq[nAction].a, ap->nFrame, AnubisSeq[nAction].b);
break;
}

Expand All @@ -437,7 +435,7 @@ void FuncAnubis(int a, int nDamage, int nRun)

if (ap->nHealth > 0)
{
short nTarget = a & 0xFFFF;
int nTarget = nObject;

// loc_258D6:
if (nTarget < 0) {
Expand Down
8 changes: 3 additions & 5 deletions source/games/exhumed/src/bubbles.cpp
Expand Up @@ -162,7 +162,7 @@ int BuildBubble(int x, int y, int z, short nSector)
return nBubble | 0x140000;
}

void FuncBubble(int a, int, int nRun)
void FuncBubble(int nObject, int nMessage, int, int nRun)
{
short nBubble = RunData[nRun].nVal;
assert(nBubble >= 0 && nBubble < kMaxBubbles);
Expand All @@ -171,8 +171,6 @@ void FuncBubble(int a, int, int nRun)
short nSeq = BubbleList[nBubble].nSeq;
auto pSprite = &sprite[nSprite];

int nMessage = a & kMessageMask;

switch (nMessage)
{
case 0x20000:
Expand Down Expand Up @@ -205,8 +203,8 @@ void FuncBubble(int a, int, int nRun)

case 0x90000:
{
seq_PlotSequence(a & 0xFFFF, nSeq, BubbleList[nBubble].nFrame, 1);
mytsprite[a & 0xFFFF].owner = -1;
seq_PlotSequence(nObject, nSeq, BubbleList[nBubble].nFrame, 1);
mytsprite[nObject].owner = -1;
return;
}

Expand Down
6 changes: 2 additions & 4 deletions source/games/exhumed/src/bullet.cpp
Expand Up @@ -811,7 +811,7 @@ int BuildBullet(short nSprite, int nType, int, int, int val1, int nAngle, int va
return nBulletSprite | (nBullet << 16);
}

void FuncBullet(int a, int, int nRun)
void FuncBullet(int nObject, int nMessage, int, int nRun)
{
short nBullet = RunData[nRun].nVal;
assert(nBullet >= 0 && nBullet < kMaxBullets);
Expand All @@ -820,8 +820,6 @@ void FuncBullet(int a, int, int nRun)
short nSprite = BulletList[nBullet].nSprite;
auto pSprite = &sprite[nSprite];

int nMessage = a & kMessageMask;

switch (nMessage)
{
case 0x20000:
Expand Down Expand Up @@ -860,7 +858,7 @@ void FuncBullet(int a, int, int nRun)

case 0x90000:
{
short nSprite2 = a & 0xFFFF;
short nSprite2 = nObject;
mytsprite[nSprite2].statnum = 1000;

if (BulletList[nBullet].nType == 15)
Expand Down

0 comments on commit b725adc

Please sign in to comment.