mirror of
https://github.com/ZDoom/Raze.git
synced 2024-11-29 15:32:24 +00:00
removed the unused int parameter from state callbacks.
This makes handling a lot easier because all state related functions have the same signature
This commit is contained in:
parent
40ca77c6b5
commit
d3867cba5f
26 changed files with 140 additions and 131 deletions
|
@ -5711,7 +5711,7 @@ void actFireVector(DBloodActor* shooter, double offset, double zoffset, DVector3
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void FireballSeqCallback(int, DBloodActor* actor)
|
void FireballSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
auto pFX = gFX.fxSpawnActor(FX_11, actor->sector(), actor->spr.pos);
|
auto pFX = gFX.fxSpawnActor(FX_11, actor->sector(), actor->spr.pos);
|
||||||
if (pFX)
|
if (pFX)
|
||||||
|
@ -5720,7 +5720,7 @@ void FireballSeqCallback(int, DBloodActor* actor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void NapalmSeqCallback(int, DBloodActor* actor)
|
void NapalmSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
auto pFX = gFX.fxSpawnActor(FX_12, actor->sector(), actor->spr.pos);
|
auto pFX = gFX.fxSpawnActor(FX_12, actor->sector(), actor->spr.pos);
|
||||||
if (pFX)
|
if (pFX)
|
||||||
|
@ -5729,7 +5729,7 @@ void NapalmSeqCallback(int, DBloodActor* actor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Fx32Callback(int, DBloodActor* actor)
|
void Fx32Callback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
auto pFX = gFX.fxSpawnActor(FX_32, actor->sector(), actor->spr.pos);
|
auto pFX = gFX.fxSpawnActor(FX_32, actor->sector(), actor->spr.pos);
|
||||||
if (pFX)
|
if (pFX)
|
||||||
|
@ -5738,7 +5738,7 @@ void Fx32Callback(int, DBloodActor* actor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Fx33Callback(int, DBloodActor* actor)
|
void Fx33Callback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
auto pFX = gFX.fxSpawnActor(FX_33, actor->sector(), actor->spr.pos);
|
auto pFX = gFX.fxSpawnActor(FX_33, actor->sector(), actor->spr.pos);
|
||||||
if (pFX)
|
if (pFX)
|
||||||
|
@ -5753,7 +5753,7 @@ void Fx33Callback(int, DBloodActor* actor)
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void TreeToGibCallback(int, DBloodActor* actor)
|
void TreeToGibCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
actor->ChangeType(kThingObjectExplode);
|
actor->ChangeType(kThingObjectExplode);
|
||||||
actor->xspr.state = 1;
|
actor->xspr.state = 1;
|
||||||
|
@ -5765,7 +5765,7 @@ void TreeToGibCallback(int, DBloodActor* actor)
|
||||||
actor->spr.cstat |= CSTAT_SPRITE_BLOCK_ALL;
|
actor->spr.cstat |= CSTAT_SPRITE_BLOCK_ALL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DudeToGibCallback1(int, DBloodActor* actor)
|
void DudeToGibCallback1(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
actor->ChangeType(kThingBloodChunks);
|
actor->ChangeType(kThingBloodChunks);
|
||||||
actor->xspr.data1 = 8;
|
actor->xspr.data1 = 8;
|
||||||
|
@ -5780,7 +5780,7 @@ void DudeToGibCallback1(int, DBloodActor* actor)
|
||||||
actor->xspr.state = 1;
|
actor->xspr.state = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DudeToGibCallback2(int, DBloodActor* actor)
|
void DudeToGibCallback2(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
actor->ChangeType(kThingBloodChunks);
|
actor->ChangeType(kThingBloodChunks);
|
||||||
actor->xspr.data1 = 3;
|
actor->xspr.data1 = 3;
|
||||||
|
|
|
@ -153,12 +153,6 @@ void actAddGameLight(int lightRadius, int spriteNum, int zOffset, int lightRange
|
||||||
void actDoLight(int spriteNum);
|
void actDoLight(int spriteNum);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void FireballSeqCallback(int, int);
|
|
||||||
void sub_38938(int, int);
|
|
||||||
void NapalmSeqCallback(int, int);
|
|
||||||
void sub_3888C(int, int);
|
|
||||||
void TreeToGibCallback(int, int);
|
|
||||||
|
|
||||||
bool IsUnderwaterSector(sectortype* pSector);
|
bool IsUnderwaterSector(sectortype* pSector);
|
||||||
void actInit(TArray<DBloodActor*>& actors);
|
void actInit(TArray<DBloodActor*>& actors);
|
||||||
void actWallBounceVector(DBloodActor* actor, walltype* pWall, double factor);
|
void actWallBounceVector(DBloodActor* actor, walltype* pWall, double factor);
|
||||||
|
@ -195,4 +189,19 @@ void actBuildMissile(DBloodActor* spawned, DBloodActor* actor);
|
||||||
extern const int16_t DudeDifficulty[];
|
extern const int16_t DudeDifficulty[];
|
||||||
|
|
||||||
|
|
||||||
|
bool IsUnderwaterSector(sectortype* pSector);
|
||||||
|
|
||||||
|
// route state callbacks through the scripting interface.
|
||||||
|
// this needs to work with incomplete data, so avoid the asserting macros.
|
||||||
|
#define DEF_ANIMATOR(func) \
|
||||||
|
int func(DBloodActor*); \
|
||||||
|
DEFINE_ACTION_FUNCTION_NATIVE(DBloodActor, func, func) \
|
||||||
|
{ \
|
||||||
|
auto self = (DBloodActor *)(param[0].a); \
|
||||||
|
func(self); \
|
||||||
|
return 0; \
|
||||||
|
}
|
||||||
|
#define AF(func) DBloodActor_##func##_VMPtr
|
||||||
|
|
||||||
|
|
||||||
END_BLD_NS
|
END_BLD_NS
|
||||||
|
|
|
@ -61,7 +61,7 @@ AISTATE batDodgeDown = { kAiStateMove, 6, -1, 120, NULL, batMoveDodgeDown, 0, &b
|
||||||
AISTATE batDodgeDownRight = { kAiStateMove, 6, -1, 90, NULL, batMoveDodgeDown, 0, &batChase };
|
AISTATE batDodgeDownRight = { kAiStateMove, 6, -1, 90, NULL, batMoveDodgeDown, 0, &batChase };
|
||||||
AISTATE batDodgeDownLeft = { kAiStateMove, 6, -1, 90, NULL, batMoveDodgeDown, 0, &batChase };
|
AISTATE batDodgeDownLeft = { kAiStateMove, 6, -1, 90, NULL, batMoveDodgeDown, 0, &batChase };
|
||||||
|
|
||||||
void batBiteSeqCallback(int, DBloodActor* actor)
|
void batBiteSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
||||||
auto pTarget = actor->GetTarget();
|
auto pTarget = actor->GetTarget();
|
||||||
|
|
|
@ -62,7 +62,7 @@ AISTATE beast138FB4 = { kAiStateOther, 9, -1, 120, NULL, sub_62AE0, beastThinkSw
|
||||||
AISTATE beast138FD0 = { kAiStateOther, 9, -1, 0, NULL, sub_62D7C, beastThinkSwimChase, &beastSwimChase };
|
AISTATE beast138FD0 = { kAiStateOther, 9, -1, 0, NULL, sub_62D7C, beastThinkSwimChase, &beastSwimChase };
|
||||||
AISTATE beast138FEC = { kAiStateOther, 9, -1, 120, NULL, aiMoveTurn, NULL, &beastSwimChase };
|
AISTATE beast138FEC = { kAiStateOther, 9, -1, 120, NULL, aiMoveTurn, NULL, &beastSwimChase };
|
||||||
|
|
||||||
void SlashSeqCallback(int, DBloodActor* actor)
|
void SlashSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
||||||
auto target = actor->GetTarget();
|
auto target = actor->GetTarget();
|
||||||
|
@ -80,7 +80,7 @@ void SlashSeqCallback(int, DBloodActor* actor)
|
||||||
sfxPlay3DSound(actor, 9012 + Random(2), -1, 0);
|
sfxPlay3DSound(actor, 9012 + Random(2), -1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void StompSeqCallback(int, DBloodActor* actor)
|
void StompSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
auto pos = actor->spr.pos;
|
auto pos = actor->spr.pos;
|
||||||
const int nDist = 400;
|
const int nDist = 400;
|
||||||
|
|
|
@ -61,7 +61,7 @@ AISTATE eelDodgeDown = { kAiStateMove, 0, -1, 120, NULL, eelMoveDodgeDown, NULL,
|
||||||
AISTATE eelDodgeDownRight = { kAiStateMove, 0, -1, 90, NULL, eelMoveDodgeDown, NULL, &eelChase };
|
AISTATE eelDodgeDownRight = { kAiStateMove, 0, -1, 90, NULL, eelMoveDodgeDown, NULL, &eelChase };
|
||||||
AISTATE eelDodgeDownLeft = { kAiStateMove, 0, -1, 90, NULL, eelMoveDodgeDown, NULL, &eelChase };
|
AISTATE eelDodgeDownLeft = { kAiStateMove, 0, -1, 90, NULL, eelMoveDodgeDown, NULL, &eelChase };
|
||||||
|
|
||||||
void eelBiteSeqCallback(int, DBloodActor* actor)
|
void eelBiteSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* workaround for
|
* workaround for
|
||||||
|
|
|
@ -70,7 +70,7 @@ AISTATE genDudeBurnGoto = { kAiStateMove, 3, -1, 3600, NULL, aiMoveForward, burn
|
||||||
AISTATE genDudeBurnSearch = { kAiStateSearch, 3, -1, 3600, NULL, aiMoveForward, burnThinkSearch, &genDudeBurnSearch };
|
AISTATE genDudeBurnSearch = { kAiStateSearch, 3, -1, 3600, NULL, aiMoveForward, burnThinkSearch, &genDudeBurnSearch };
|
||||||
AISTATE genDudeBurnAttack = { kAiStateChase, 3, nBurnClient, 120, NULL, NULL, NULL, &genDudeBurnChase };
|
AISTATE genDudeBurnAttack = { kAiStateChase, 3, nBurnClient, 120, NULL, NULL, NULL, &genDudeBurnChase };
|
||||||
|
|
||||||
void BurnSeqCallback(int, DBloodActor*)
|
void BurnSeqCallback(DBloodActor*)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,7 @@ AISTATE tinycaleb139660 = { kAiStateOther, 8, -1, 120, NULL, sub_65F44, calebThi
|
||||||
AISTATE tinycaleb13967C = { kAiStateOther, 8, -1, 0, NULL, sub_661E0, calebThinkSwimChase, &tinycalebSwimChase };
|
AISTATE tinycaleb13967C = { kAiStateOther, 8, -1, 0, NULL, sub_661E0, calebThinkSwimChase, &tinycalebSwimChase };
|
||||||
AISTATE tinycaleb139698 = { kAiStateOther, 8, -1, 120, NULL, aiMoveTurn, NULL, &tinycalebSwimChase };
|
AISTATE tinycaleb139698 = { kAiStateOther, 8, -1, 120, NULL, aiMoveTurn, NULL, &tinycalebSwimChase };
|
||||||
|
|
||||||
void SeqAttackCallback(int, DBloodActor* actor)
|
void SeqAttackCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
DVector3 vect(actor->spr.Angles.Yaw.ToVector(), actor->dudeSlope);
|
DVector3 vect(actor->spr.Angles.Yaw.ToVector(), actor->dudeSlope);
|
||||||
vect.X += Random2F(1500, 4);
|
vect.X += Random2F(1500, 4);
|
||||||
|
|
|
@ -58,7 +58,7 @@ AISTATE cerberus1398AC = { kAiStateOther, 7, -1, 120, NULL, aiMoveTurn, NULL, &c
|
||||||
static constexpr double Cerberus_XYOff = 350. / 16;
|
static constexpr double Cerberus_XYOff = 350. / 16;
|
||||||
static constexpr double Cerberus_ZOff = 100. / 256;
|
static constexpr double Cerberus_ZOff = 100. / 256;
|
||||||
|
|
||||||
void cerberusBiteSeqCallback(int, DBloodActor* actor)
|
void cerberusBiteSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (!(actor->IsDudeActor())) {
|
if (!(actor->IsDudeActor())) {
|
||||||
Printf(PRINT_HIGH, "actor->IsDudeActor()");
|
Printf(PRINT_HIGH, "actor->IsDudeActor()");
|
||||||
|
@ -75,7 +75,7 @@ void cerberusBiteSeqCallback(int, DBloodActor* actor)
|
||||||
actFireVector(actor, 0, 0, vec, kVectorCerberusHack);
|
actFireVector(actor, 0, 0, vec, kVectorCerberusHack);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cerberusBurnSeqCallback(int, DBloodActor* actor)
|
void cerberusBurnSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
DUDEINFO* pDudeInfo = getDudeInfo(actor);
|
DUDEINFO* pDudeInfo = getDudeInfo(actor);
|
||||||
double height = pDudeInfo->eyeHeight * actor->spr.scale.Y * 0.25;
|
double height = pDudeInfo->eyeHeight * actor->spr.scale.Y * 0.25;
|
||||||
|
@ -136,7 +136,7 @@ void cerberusBurnSeqCallback(int, DBloodActor* actor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void cerberusBurnSeqCallback2(int, DBloodActor* actor)
|
void cerberusBurnSeqCallback2(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
||||||
DUDEINFO* pDudeInfo = getDudeInfo(actor);
|
DUDEINFO* pDudeInfo = getDudeInfo(actor);
|
||||||
|
|
|
@ -73,7 +73,7 @@ AISTATE cultistTSwimFire = { kAiStateChase, 8, nTommyClient, 0, NULL, aiMoveTurn
|
||||||
AISTATE cultistTsSwimFire = { kAiStateChase, 8, nTeslaClient, 0, NULL, aiMoveTurn, cultThinkChase, &cultistTsSwimFire };
|
AISTATE cultistTsSwimFire = { kAiStateChase, 8, nTeslaClient, 0, NULL, aiMoveTurn, cultThinkChase, &cultistTsSwimFire };
|
||||||
AISTATE cultistSwimRecoil = { kAiStateRecoil, 5, -1, 0, NULL, NULL, NULL, &cultistSwimDodge };
|
AISTATE cultistSwimRecoil = { kAiStateRecoil, 5, -1, 0, NULL, NULL, NULL, &cultistSwimDodge };
|
||||||
|
|
||||||
void TommySeqCallback(int, DBloodActor* actor)
|
void TommySeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
DVector3 vect(actor->spr.Angles.Yaw.ToVector(), actor->dudeSlope);
|
DVector3 vect(actor->spr.Angles.Yaw.ToVector(), actor->dudeSlope);
|
||||||
vect.X += Random3F((5 - gGameOptions.nDifficulty) * 1000, 14);
|
vect.X += Random3F((5 - gGameOptions.nDifficulty) * 1000, 14);
|
||||||
|
@ -83,7 +83,7 @@ void TommySeqCallback(int, DBloodActor* actor)
|
||||||
sfxPlay3DSound(actor, 4001, -1, 0);
|
sfxPlay3DSound(actor, 4001, -1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TeslaSeqCallback(int, DBloodActor* actor)
|
void TeslaSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (Chance(gCultTeslaFireChance[gGameOptions.nDifficulty]))
|
if (Chance(gCultTeslaFireChance[gGameOptions.nDifficulty]))
|
||||||
{
|
{
|
||||||
|
@ -96,7 +96,7 @@ void TeslaSeqCallback(int, DBloodActor* actor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShotSeqCallback(int, DBloodActor* actor)
|
void ShotSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
DVector3 vect(actor->spr.Angles.Yaw.ToVector(), actor->dudeSlope);
|
DVector3 vect(actor->spr.Angles.Yaw.ToVector(), actor->dudeSlope);
|
||||||
vect.X += Random3F((5 - gGameOptions.nDifficulty) * 1000, 14);
|
vect.X += Random3F((5 - gGameOptions.nDifficulty) * 1000, 14);
|
||||||
|
@ -115,7 +115,7 @@ void ShotSeqCallback(int, DBloodActor* actor)
|
||||||
sfxPlay3DSound(actor, 1002, -1, 0);
|
sfxPlay3DSound(actor, 1002, -1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cultThrowSeqCallback(int, DBloodActor* actor)
|
void cultThrowSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
int nMissile = kThingArmedTNTStick;
|
int nMissile = kThingArmedTNTStick;
|
||||||
if (gGameOptions.nDifficulty > 2)
|
if (gGameOptions.nDifficulty > 2)
|
||||||
|
@ -137,7 +137,7 @@ void cultThrowSeqCallback(int, DBloodActor* actor)
|
||||||
evPostActor(pMissile, 120 * (1 + Random(2)), kCmdOn, actor);
|
evPostActor(pMissile, 120 * (1 + Random(2)), kCmdOn, actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cultThrowSeqCallback2(int, DBloodActor* actor)
|
void cultThrowSeqCallback2(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
int nMissile = kThingArmedTNTStick;
|
int nMissile = kThingArmedTNTStick;
|
||||||
if (gGameOptions.nDifficulty > 2)
|
if (gGameOptions.nDifficulty > 2)
|
||||||
|
@ -147,7 +147,7 @@ void cultThrowSeqCallback2(int, DBloodActor* actor)
|
||||||
evPostActor(pMissile, 120 * (2 + Random(2)), kCmdOn, actor);
|
evPostActor(pMissile, 120 * (2 + Random(2)), kCmdOn, actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cultThrowSeqCallback3(int, DBloodActor* actor)
|
void cultThrowSeqCallback3(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
int nMissile = kThingArmedTNTStick;
|
int nMissile = kThingArmedTNTStick;
|
||||||
if (gGameOptions.nDifficulty > 2)
|
if (gGameOptions.nDifficulty > 2)
|
||||||
|
|
|
@ -75,7 +75,7 @@ static void playStatueBreakSnd(DBloodActor* actor) {
|
||||||
aiPlay3DSound(actor, 313, AI_SFX_PRIORITY_1, -1);
|
aiPlay3DSound(actor, 313, AI_SFX_PRIORITY_1, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SlashFSeqCallback(int, DBloodActor* actor)
|
void SlashFSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
||||||
auto target = actor->GetTarget();
|
auto target = actor->GetTarget();
|
||||||
|
@ -94,12 +94,12 @@ void SlashFSeqCallback(int, DBloodActor* actor)
|
||||||
actFireVector(actor, 0, 0, vec + DVector2(r1, r2), kVectorGargSlash);
|
actFireVector(actor, 0, 0, vec + DVector2(r1, r2), kVectorGargSlash);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ThrowFSeqCallback(int, DBloodActor* actor)
|
void ThrowFSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
actFireThing(actor, 0., 0., actor->dudeSlope * 0.25 - 0.11444, kThingBone, 0xeeeee / 65536.);
|
actFireThing(actor, 0., 0., actor->dudeSlope * 0.25 - 0.11444, kThingBone, 0xeeeee / 65536.);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BlastSSeqCallback(int, DBloodActor* actor)
|
void BlastSSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
wrand(); // ???
|
wrand(); // ???
|
||||||
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
||||||
|
@ -168,7 +168,7 @@ void BlastSSeqCallback(int, DBloodActor* actor)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ThrowSSeqCallback(int, DBloodActor* actor)
|
void ThrowSSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
actFireThing(actor, 0., 0., actor->dudeSlope * 0.25 - 0.11444, kThingBone, Chance(0x6000) ? 19.2 : 17.066666);
|
actFireThing(actor, 0., 0., actor->dudeSlope * 0.25 - 0.11444, kThingBone, Chance(0x6000) ? 19.2 : 17.066666);
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,7 +60,7 @@ AISTATE ghostDodgeDown = { kAiStateMove, 0, -1, 120, NULL, ghostMoveDodgeDown, N
|
||||||
AISTATE ghostDodgeDownRight = { kAiStateMove, 0, -1, 90, NULL, ghostMoveDodgeDown, NULL, &ghostChase };
|
AISTATE ghostDodgeDownRight = { kAiStateMove, 0, -1, 90, NULL, ghostMoveDodgeDown, NULL, &ghostChase };
|
||||||
AISTATE ghostDodgeDownLeft = { kAiStateMove, 0, -1, 90, NULL, ghostMoveDodgeDown, NULL, &ghostChase };
|
AISTATE ghostDodgeDownLeft = { kAiStateMove, 0, -1, 90, NULL, ghostMoveDodgeDown, NULL, &ghostChase };
|
||||||
|
|
||||||
void ghostSlashSeqCallback(int, DBloodActor* actor)
|
void ghostSlashSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
||||||
auto target = actor->GetTarget();
|
auto target = actor->GetTarget();
|
||||||
|
@ -80,13 +80,13 @@ void ghostSlashSeqCallback(int, DBloodActor* actor)
|
||||||
actFireVector(actor, 0, 0, dv + DVector2(-r2, r1), kVectorGhost);
|
actFireVector(actor, 0, 0, dv + DVector2(-r2, r1), kVectorGhost);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ghostThrowSeqCallback(int, DBloodActor* actor)
|
void ghostThrowSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
actFireThing(actor, 0., 0., actor->dudeSlope * 0.25 - 0.11444, kThingBone, 14.93333);
|
actFireThing(actor, 0., 0., actor->dudeSlope * 0.25 - 0.11444, kThingBone, 14.93333);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This functions seems to be identical with BlastSSeqCallback except for the spawn calls at the end.
|
// This functions seems to be identical with BlastSSeqCallback except for the spawn calls at the end.
|
||||||
void ghostBlastSeqCallback(int, DBloodActor* actor)
|
void ghostBlastSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
wrand(); // ???
|
wrand(); // ???
|
||||||
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
||||||
|
|
|
@ -57,7 +57,7 @@ AISTATE gillBeast13A138 = { kAiStateOther, 10, -1, 120, NULL, sub_6CD74, gillThi
|
||||||
AISTATE gillBeast13A154 = { kAiStateOther, 10, -1, 0, NULL, sub_6D03C, gillThinkSwimChase, &gillBeastSwimChase };
|
AISTATE gillBeast13A154 = { kAiStateOther, 10, -1, 0, NULL, sub_6D03C, gillThinkSwimChase, &gillBeastSwimChase };
|
||||||
AISTATE gillBeast13A170 = { kAiStateOther, 10, -1, 120, NULL, NULL, aiMoveTurn, &gillBeastSwimChase };
|
AISTATE gillBeast13A170 = { kAiStateOther, 10, -1, 120, NULL, NULL, aiMoveTurn, &gillBeastSwimChase };
|
||||||
|
|
||||||
void GillBiteSeqCallback(int, DBloodActor* actor)
|
void GillBiteSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
||||||
auto target = actor->GetTarget();
|
auto target = actor->GetTarget();
|
||||||
|
|
|
@ -41,7 +41,7 @@ AISTATE handRecoil = { kAiStateRecoil, 5, -1, 0, NULL, NULL, NULL, &handSearch }
|
||||||
AISTATE handGoto = { kAiStateMove, 6, -1, 1800, NULL, aiMoveForward, handThinkGoto, &handIdle };
|
AISTATE handGoto = { kAiStateMove, 6, -1, 1800, NULL, aiMoveForward, handThinkGoto, &handIdle };
|
||||||
AISTATE handJump = { kAiStateChase, 7, nJumpClient, 120, NULL, NULL, NULL, &handChase };
|
AISTATE handJump = { kAiStateChase, 7, nJumpClient, 120, NULL, NULL, NULL, &handChase };
|
||||||
|
|
||||||
void HandJumpSeqCallback(int, DBloodActor* actor)
|
void HandJumpSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
||||||
auto target = actor->GetTarget();
|
auto target = actor->GetTarget();
|
||||||
|
|
|
@ -42,7 +42,7 @@ AISTATE houndGoto = { kAiStateMove, 8, -1, 600, NULL, aiMoveForward, houndThinkG
|
||||||
AISTATE houndBite = { kAiStateChase, 6, nHoundBiteClient, 60, NULL, NULL, NULL, &houndChase };
|
AISTATE houndBite = { kAiStateChase, 6, nHoundBiteClient, 60, NULL, NULL, NULL, &houndChase };
|
||||||
AISTATE houndBurn = { kAiStateChase, 7, nHoundBurnClient, 60, NULL, NULL, NULL, &houndChase };
|
AISTATE houndBurn = { kAiStateChase, 7, nHoundBurnClient, 60, NULL, NULL, NULL, &houndChase };
|
||||||
|
|
||||||
void houndBiteSeqCallback(int, DBloodActor* actor)
|
void houndBiteSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (!(actor->IsDudeActor())) {
|
if (!(actor->IsDudeActor())) {
|
||||||
Printf(PRINT_HIGH, "actor->IsDudeActor()");
|
Printf(PRINT_HIGH, "actor->IsDudeActor()");
|
||||||
|
@ -56,7 +56,7 @@ void houndBiteSeqCallback(int, DBloodActor* actor)
|
||||||
actFireVector(actor, 0, 0, vec, kVectorHoundBite);
|
actFireVector(actor, 0, 0, vec, kVectorHoundBite);
|
||||||
}
|
}
|
||||||
|
|
||||||
void houndBurnSeqCallback(int, DBloodActor* actor)
|
void houndBurnSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
actFireMissile(actor, 0, 0, DVector3(actor->spr.Angles.Yaw.ToVector(), 0), kMissileFlameHound);
|
actFireMissile(actor, 0, 0, DVector3(actor->spr.Angles.Yaw.ToVector(), 0), kMissileFlameHound);
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,17 +50,17 @@ AISTATE tentacleStartChase = { kAiStateOther, 6, nTentacleStartSearchClient, 120
|
||||||
AISTATE tentacleRecoil = { kAiStateRecoil, 5, -1, 0, NULL, NULL, NULL, &tentacleChase };
|
AISTATE tentacleRecoil = { kAiStateRecoil, 5, -1, 0, NULL, NULL, NULL, &tentacleChase };
|
||||||
AISTATE tentacleChase = { kAiStateChase, 6, -1, 0, NULL, aiMoveTurn, aiPodChase, NULL };
|
AISTATE tentacleChase = { kAiStateChase, 6, -1, 0, NULL, aiMoveTurn, aiPodChase, NULL };
|
||||||
|
|
||||||
void sub_6FF08(int, DBloodActor* actor)
|
void podPlaySound1(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
sfxPlay3DSound(actor, 2503, -1, 0);
|
sfxPlay3DSound(actor, 2503, -1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_6FF54(int, DBloodActor* actor)
|
void podPlaySound2(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
sfxPlay3DSound(actor, 2500, -1, 0);
|
sfxPlay3DSound(actor, 2500, -1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void podAttack(int, DBloodActor* actor)
|
void podAttack(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
||||||
auto target = actor->GetTarget();
|
auto target = actor->GetTarget();
|
||||||
|
@ -101,7 +101,7 @@ void podAttack(int, DBloodActor* actor)
|
||||||
fxSpawnPodStuff(actor, 240);
|
fxSpawnPodStuff(actor, 240);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_70284(int, DBloodActor* actor)
|
void podExplode(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
sfxPlay3DSound(actor, 2502, -1, 0);
|
sfxPlay3DSound(actor, 2502, -1, 0);
|
||||||
int nDist, nBurn;
|
int nDist, nBurn;
|
||||||
|
|
|
@ -41,7 +41,7 @@ AISTATE ratRecoil = { kAiStateRecoil, 7, -1, 0, NULL, NULL, NULL, &ratDodge };
|
||||||
AISTATE ratGoto = { kAiStateMove, 7, -1, 600, NULL, aiMoveForward, ratThinkGoto, &ratIdle };
|
AISTATE ratGoto = { kAiStateMove, 7, -1, 600, NULL, aiMoveForward, ratThinkGoto, &ratIdle };
|
||||||
AISTATE ratBite = { kAiStateChase, 6, nRatBiteClient, 120, NULL, NULL, NULL, &ratChase };
|
AISTATE ratBite = { kAiStateChase, 6, nRatBiteClient, 120, NULL, NULL, NULL, &ratChase };
|
||||||
|
|
||||||
void ratBiteSeqCallback(int, DBloodActor* actor)
|
void ratBiteSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
assert(actor->IsDudeActor());
|
assert(actor->IsDudeActor());
|
||||||
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
||||||
|
|
|
@ -57,7 +57,7 @@ static void spidBlindEffect(DBloodActor* actor, int nBlind, int max)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SpidBiteSeqCallback(int, DBloodActor* actor)
|
void SpidBiteSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
DVector3 vec(actor->spr.Angles.Yaw.ToVector(), 0);
|
DVector3 vec(actor->spr.Angles.Yaw.ToVector(), 0);
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ void SpidBiteSeqCallback(int, DBloodActor* actor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SpidJumpSeqCallback(int, DBloodActor* actor)
|
void SpidJumpSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
DVector3 vec(actor->spr.Angles.Yaw.ToVector(), 0);
|
DVector3 vec(actor->spr.Angles.Yaw.ToVector(), 0);
|
||||||
|
|
||||||
|
@ -129,7 +129,7 @@ void SpidJumpSeqCallback(int, DBloodActor* actor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SpidBirthSeqCallback(int, DBloodActor* actor)
|
void SpidBirthSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
assert(actor->IsDudeActor());
|
assert(actor->IsDudeActor());
|
||||||
DUDEINFO* pDudeInfo = getDudeInfo(actor);
|
DUDEINFO* pDudeInfo = getDudeInfo(actor);
|
||||||
|
|
|
@ -47,7 +47,7 @@ AISTATE tcherno13AA28 = { kAiStateChase, 8, -1, 60, NULL, aiMoveTurn, NULL, &tch
|
||||||
|
|
||||||
static constexpr double Tchernnobog_XYOff = 350. / 16;
|
static constexpr double Tchernnobog_XYOff = 350. / 16;
|
||||||
|
|
||||||
void sub_71A90(int, DBloodActor* actor)
|
void tchernobogFire(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
||||||
auto target = actor->GetTarget();
|
auto target = actor->GetTarget();
|
||||||
|
@ -58,7 +58,7 @@ void sub_71A90(int, DBloodActor* actor)
|
||||||
aiNewState(actor, &tcherno13A9D4);
|
aiNewState(actor, &tcherno13A9D4);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tchernobogBurnSeqCallback(int, DBloodActor* actor)
|
void tchernobogBurnSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
DUDEINFO* pDudeInfo = getDudeInfo(actor);
|
DUDEINFO* pDudeInfo = getDudeInfo(actor);
|
||||||
double height = actor->spr.scale.Y * pDudeInfo->eyeHeight * 0.25;
|
double height = actor->spr.scale.Y * pDudeInfo->eyeHeight * 0.25;
|
||||||
|
@ -115,7 +115,7 @@ void tchernobogBurnSeqCallback(int, DBloodActor* actor)
|
||||||
actFireMissile(actor, Tchernnobog_XYOff, 0., Aim, kMissileFireballTchernobog);
|
actFireMissile(actor, Tchernnobog_XYOff, 0., Aim, kMissileFireballTchernobog);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tchernobogBurnSeqCallback2(int, DBloodActor* actor)
|
void tchernobogBurnSeqCallback2(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
||||||
|
|
||||||
|
|
|
@ -113,7 +113,7 @@ const GENDUDESND gCustomDudeSnd[] = {
|
||||||
static void forcePunch(DBloodActor* actor)
|
static void forcePunch(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (actor->genDudeExtra.forcePunch && seqGetStatus(actor) == -1)
|
if (actor->genDudeExtra.forcePunch && seqGetStatus(actor) == -1)
|
||||||
punchCallback(0, actor);
|
punchCallback(actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
@ -181,7 +181,7 @@ void genDudeUpdate(DBloodActor* actor)
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void punchCallback(int, DBloodActor* actor)
|
void punchCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
auto const target = actor->GetTarget();
|
auto const target = actor->GetTarget();
|
||||||
if (target != nullptr)
|
if (target != nullptr)
|
||||||
|
@ -206,7 +206,7 @@ void punchCallback(int, DBloodActor* actor)
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void genDudeAttack1(int, DBloodActor* actor)
|
void genDudeAttack1(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (actor->GetTarget() == nullptr) return;
|
if (actor->GetTarget() == nullptr) return;
|
||||||
|
|
||||||
|
@ -278,12 +278,12 @@ void genDudeAttack1(int, DBloodActor* actor)
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void ThrowCallback1(int, DBloodActor* actor)
|
void ThrowCallback1(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
ThrowThing(actor, true);
|
ThrowThing(actor, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ThrowCallback2(int, DBloodActor* actor)
|
void ThrowCallback2(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
ThrowThing(actor, false);
|
ThrowThing(actor, false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@ AISTATE zombie2Search = { kAiStateSearch, 8, -1, 1800, NULL, NULL, myThinkSearch
|
||||||
AISTATE zombieSIdle = { kAiStateIdle, 10, -1, 0, NULL, NULL, aiThinkTarget, NULL };
|
AISTATE zombieSIdle = { kAiStateIdle, 10, -1, 0, NULL, NULL, aiThinkTarget, NULL };
|
||||||
AISTATE zombie13AC2C = { kAiStateOther, 11, nStandClient, 0, entryEZombie, NULL, NULL, &zombieAPonder };
|
AISTATE zombie13AC2C = { kAiStateOther, 11, nStandClient, 0, entryEZombie, NULL, NULL, &zombieAPonder };
|
||||||
|
|
||||||
void HackSeqCallback(int, DBloodActor* actor)
|
void HackSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
auto target = actor->GetTarget();
|
auto target = actor->GetTarget();
|
||||||
if (!target) return;
|
if (!target) return;
|
||||||
|
@ -75,7 +75,7 @@ void HackSeqCallback(int, DBloodActor* actor)
|
||||||
actFireVector(actor, 0, 0, dv, kVectorAxe);
|
actFireVector(actor, 0, 0, dv, kVectorAxe);
|
||||||
}
|
}
|
||||||
|
|
||||||
void StandSeqCallback(int, DBloodActor* actor)
|
void StandSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
sfxPlay3DSound(actor, 1102, -1, 0);
|
sfxPlay3DSound(actor, 1102, -1, 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,7 @@ AISTATE zombieFSearch = { kAiStateSearch, 8, -1, 1800, NULL, aiMoveForward, zomb
|
||||||
AISTATE zombieFRecoil = { kAiStateRecoil, 5, -1, 0, NULL, NULL, NULL, &zombieFChase };
|
AISTATE zombieFRecoil = { kAiStateRecoil, 5, -1, 0, NULL, NULL, NULL, &zombieFChase };
|
||||||
AISTATE zombieFTeslaRecoil = { kAiStateRecoil, 4, -1, 0, NULL, NULL, NULL, &zombieFChase };
|
AISTATE zombieFTeslaRecoil = { kAiStateRecoil, 4, -1, 0, NULL, NULL, NULL, &zombieFChase };
|
||||||
|
|
||||||
void zombfHackSeqCallback(int, DBloodActor* actor)
|
void zombfHackSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (actor->GetType() != kDudeZombieButcher)
|
if (actor->GetType() != kDudeZombieButcher)
|
||||||
return;
|
return;
|
||||||
|
@ -58,7 +58,7 @@ void zombfHackSeqCallback(int, DBloodActor* actor)
|
||||||
actFireVector(actor, 0, 0, DVector3(actor->spr.Angles.Yaw.ToVector() * 64, height - height2), kVectorCleaver);
|
actFireVector(actor, 0, 0, DVector3(actor->spr.Angles.Yaw.ToVector() * 64, height - height2), kVectorCleaver);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PukeSeqCallback(int, DBloodActor* actor)
|
void PukeSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
if (!actor->ValidateTarget(__FUNCTION__)) return;
|
||||||
auto target = actor->GetTarget();
|
auto target = actor->GetTarget();
|
||||||
|
@ -75,7 +75,7 @@ void PukeSeqCallback(int, DBloodActor* actor)
|
||||||
actFireMissile(actor, 0, -z, DVector3(dv, 0), kMissilePukeGreen);
|
actFireMissile(actor, 0, -z, DVector3(dv, 0), kMissilePukeGreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ThrowSeqCallback(int, DBloodActor* actor)
|
void ThrowSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
actFireMissile(actor, 0, 0, DVector3(actor->spr.Angles.Yaw.ToVector(), 0), kMissileButcherKnife);
|
actFireMissile(actor, 0, 0, DVector3(actor->spr.Angles.Yaw.ToVector(), 0), kMissileButcherKnife);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5680,7 +5680,7 @@ bool modernTypeOperateSprite(DBloodActor* actor, EVENT& event)
|
||||||
// let's allow only specific commands here to avoid this.
|
// let's allow only specific commands here to avoid this.
|
||||||
if (actor->spr.inittype < kDudeBase || actor->spr.inittype >= kDudeMax) return false;
|
if (actor->spr.inittype < kDudeBase || actor->spr.inittype >= kDudeMax) return false;
|
||||||
else if (event.cmd != kCmdToggle && event.cmd != kCmdOff && event.cmd != kCmdSpriteImpact) return true;
|
else if (event.cmd != kCmdToggle && event.cmd != kCmdOff && event.cmd != kCmdSpriteImpact) return true;
|
||||||
DudeToGibCallback1(0, actor); // set proper gib type just in case DATAs was changed from the outside.
|
DudeToGibCallback1(actor); // set proper gib type just in case DATAs was changed from the outside.
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
case kModernCondition:
|
case kModernCondition:
|
||||||
|
|
|
@ -2301,7 +2301,7 @@ void playerLandingSound(DBloodPlayer* pPlayer)
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void PlayerSurvive(int, DBloodActor* actor)
|
void PlayerSurvive(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
char buffer[80];
|
char buffer[80];
|
||||||
actHealDude(actor, 1, 2);
|
actHealDude(actor, 1, 2);
|
||||||
|
@ -2329,7 +2329,7 @@ void PlayerSurvive(int, DBloodActor* actor)
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void PlayerKneelsOver(int, DBloodActor* actor)
|
void PlayerKneelsOver(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
for (int p = connecthead; p >= 0; p = connectpoint2[p])
|
for (int p = connecthead; p >= 0; p = connectpoint2[p])
|
||||||
{
|
{
|
||||||
|
|
|
@ -36,7 +36,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
BEGIN_BLD_NS
|
BEGIN_BLD_NS
|
||||||
|
|
||||||
static void (*seqClientCallback[])(int, DBloodActor*) = {
|
static void (*seqClientCallback[])(DBloodActor*) = {
|
||||||
FireballSeqCallback,
|
FireballSeqCallback,
|
||||||
Fx33Callback,
|
Fx33Callback,
|
||||||
NapalmSeqCallback,
|
NapalmSeqCallback,
|
||||||
|
@ -71,16 +71,16 @@ static void (*seqClientCallback[])(int, DBloodActor*) = {
|
||||||
houndBiteSeqCallback,
|
houndBiteSeqCallback,
|
||||||
houndBurnSeqCallback,
|
houndBurnSeqCallback,
|
||||||
podAttack,
|
podAttack,
|
||||||
sub_70284,
|
podExplode,
|
||||||
sub_6FF08,
|
podPlaySound1,
|
||||||
sub_6FF54,
|
podPlaySound2,
|
||||||
ratBiteSeqCallback,
|
ratBiteSeqCallback,
|
||||||
SpidBiteSeqCallback,
|
SpidBiteSeqCallback,
|
||||||
SpidJumpSeqCallback,
|
SpidJumpSeqCallback,
|
||||||
SpidBirthSeqCallback,
|
SpidBirthSeqCallback,
|
||||||
tchernobogBurnSeqCallback,
|
tchernobogBurnSeqCallback,
|
||||||
tchernobogBurnSeqCallback2,
|
tchernobogBurnSeqCallback2,
|
||||||
sub_71A90,
|
tchernobogFire,
|
||||||
genDudeAttack1,
|
genDudeAttack1,
|
||||||
punchCallback,
|
punchCallback,
|
||||||
ThrowCallback1,
|
ThrowCallback1,
|
||||||
|
@ -402,7 +402,7 @@ void SEQINST::Update()
|
||||||
if (pSequence->frames[frameIndex].trigger && callback != -1)
|
if (pSequence->frames[frameIndex].trigger && callback != -1)
|
||||||
{
|
{
|
||||||
assert(type == SS_SPRITE);
|
assert(type == SS_SPRITE);
|
||||||
if (target.isActor()) seqClientCallback[callback](type, target.actor());
|
if (target.isActor()) seqClientCallback[callback](target.actor());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,64 +3,64 @@
|
||||||
BEGIN_BLD_NS
|
BEGIN_BLD_NS
|
||||||
|
|
||||||
class DBloodActor;
|
class DBloodActor;
|
||||||
void FireballSeqCallback(int, DBloodActor*);
|
void FireballSeqCallback(DBloodActor*);
|
||||||
void Fx33Callback(int, DBloodActor*);
|
void Fx33Callback(DBloodActor*);
|
||||||
void NapalmSeqCallback(int, DBloodActor*);
|
void NapalmSeqCallback(DBloodActor*);
|
||||||
void Fx32Callback(int, DBloodActor*);
|
void Fx32Callback(DBloodActor*);
|
||||||
void TreeToGibCallback(int, DBloodActor*);
|
void TreeToGibCallback(DBloodActor*);
|
||||||
void DudeToGibCallback1(int, DBloodActor*);
|
void DudeToGibCallback1(DBloodActor*);
|
||||||
void DudeToGibCallback2(int, DBloodActor*);
|
void DudeToGibCallback2(DBloodActor*);
|
||||||
void batBiteSeqCallback(int, DBloodActor*);
|
void batBiteSeqCallback(DBloodActor*);
|
||||||
void SlashSeqCallback(int, DBloodActor*);
|
void SlashSeqCallback(DBloodActor*);
|
||||||
void StompSeqCallback(int, DBloodActor*);
|
void StompSeqCallback(DBloodActor*);
|
||||||
void eelBiteSeqCallback(int, DBloodActor*);
|
void eelBiteSeqCallback(DBloodActor*);
|
||||||
void BurnSeqCallback(int, DBloodActor*);
|
void BurnSeqCallback(DBloodActor*);
|
||||||
void SeqAttackCallback(int, DBloodActor*);
|
void SeqAttackCallback(DBloodActor*);
|
||||||
void cerberusBiteSeqCallback(int, DBloodActor*);
|
void cerberusBiteSeqCallback(DBloodActor*);
|
||||||
void cerberusBurnSeqCallback(int, DBloodActor*);
|
void cerberusBurnSeqCallback(DBloodActor*);
|
||||||
void cerberusBurnSeqCallback2(int, DBloodActor*);
|
void cerberusBurnSeqCallback2(DBloodActor*);
|
||||||
void TommySeqCallback(int, DBloodActor*);
|
void TommySeqCallback(DBloodActor*);
|
||||||
void TeslaSeqCallback(int, DBloodActor*);
|
void TeslaSeqCallback(DBloodActor*);
|
||||||
void ShotSeqCallback(int, DBloodActor*);
|
void ShotSeqCallback(DBloodActor*);
|
||||||
void cultThrowSeqCallback(int, DBloodActor*);
|
void cultThrowSeqCallback(DBloodActor*);
|
||||||
void cultThrowSeqCallback2(int, DBloodActor*);
|
void cultThrowSeqCallback2(DBloodActor*);
|
||||||
void cultThrowSeqCallback3(int, DBloodActor*);
|
void cultThrowSeqCallback3(DBloodActor*);
|
||||||
void SlashFSeqCallback(int, DBloodActor*);
|
void SlashFSeqCallback(DBloodActor*);
|
||||||
void ThrowFSeqCallback(int, DBloodActor*);
|
void ThrowFSeqCallback(DBloodActor*);
|
||||||
void BlastSSeqCallback(int, DBloodActor*);
|
void BlastSSeqCallback(DBloodActor*);
|
||||||
void ThrowSSeqCallback(int, DBloodActor*);
|
void ThrowSSeqCallback(DBloodActor*);
|
||||||
void ghostSlashSeqCallback(int, DBloodActor*);
|
void ghostSlashSeqCallback(DBloodActor*);
|
||||||
void ghostThrowSeqCallback(int, DBloodActor*);
|
void ghostThrowSeqCallback(DBloodActor*);
|
||||||
void ghostBlastSeqCallback(int, DBloodActor*);
|
void ghostBlastSeqCallback(DBloodActor*);
|
||||||
void GillBiteSeqCallback(int, DBloodActor*);
|
void GillBiteSeqCallback(DBloodActor*);
|
||||||
void HandJumpSeqCallback(int, DBloodActor*);
|
void HandJumpSeqCallback(DBloodActor*);
|
||||||
void houndBiteSeqCallback(int, DBloodActor*);
|
void houndBiteSeqCallback(DBloodActor*);
|
||||||
void houndBurnSeqCallback(int, DBloodActor*);
|
void houndBurnSeqCallback(DBloodActor*);
|
||||||
void sub_6FF08(int, DBloodActor*);
|
void podPlaySound1(DBloodActor*);
|
||||||
void sub_6FF54(int, DBloodActor*);
|
void podPlaySound2(DBloodActor*);
|
||||||
void podAttack(int, DBloodActor*);
|
void podAttack(DBloodActor*);
|
||||||
void sub_70284(int, DBloodActor*);
|
void podExplode(DBloodActor*);
|
||||||
void ratBiteSeqCallback(int, DBloodActor*);
|
void ratBiteSeqCallback(DBloodActor*);
|
||||||
void SpidBiteSeqCallback(int, DBloodActor*);
|
void SpidBiteSeqCallback(DBloodActor*);
|
||||||
void SpidJumpSeqCallback(int, DBloodActor*);
|
void SpidJumpSeqCallback(DBloodActor*);
|
||||||
void SpidBirthSeqCallback(int, DBloodActor*);
|
void SpidBirthSeqCallback(DBloodActor*);
|
||||||
void sub_71A90(int, DBloodActor*);
|
void tchernobogFire(DBloodActor*);
|
||||||
void tchernobogBurnSeqCallback(int, DBloodActor*);
|
void tchernobogBurnSeqCallback(DBloodActor*);
|
||||||
void tchernobogBurnSeqCallback2(int, DBloodActor*);
|
void tchernobogBurnSeqCallback2(DBloodActor*);
|
||||||
void genDudeAttack1(int, DBloodActor*);
|
void genDudeAttack1(DBloodActor*);
|
||||||
void punchCallback(int, DBloodActor*);
|
void punchCallback(DBloodActor*);
|
||||||
void ThrowCallback1(int, DBloodActor*);
|
void ThrowCallback1(DBloodActor*);
|
||||||
void ThrowCallback2(int, DBloodActor*);
|
void ThrowCallback2(DBloodActor*);
|
||||||
void HackSeqCallback(int, DBloodActor*);
|
void HackSeqCallback(DBloodActor*);
|
||||||
void StandSeqCallback(int, DBloodActor*);
|
void StandSeqCallback(DBloodActor*);
|
||||||
void zombfHackSeqCallback(int, DBloodActor*);
|
void zombfHackSeqCallback(DBloodActor*);
|
||||||
void PukeSeqCallback(int, DBloodActor*);
|
void PukeSeqCallback(DBloodActor*);
|
||||||
void ThrowSeqCallback(int, DBloodActor*);
|
void ThrowSeqCallback(DBloodActor*);
|
||||||
void PlayerSurvive(int, DBloodActor*);
|
void PlayerSurvive(DBloodActor*);
|
||||||
void PlayerKneelsOver(int, DBloodActor*);
|
void PlayerKneelsOver(DBloodActor*);
|
||||||
void FireballTrapSeqCallback(int, DBloodActor*);
|
void FireballTrapSeqCallback(DBloodActor*);
|
||||||
void MGunFireSeqCallback(int, DBloodActor*);
|
void MGunFireSeqCallback(DBloodActor*);
|
||||||
void MGunOpenSeqCallback(int, DBloodActor*);
|
void MGunOpenSeqCallback(DBloodActor*);
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
|
|
@ -2482,7 +2482,7 @@ void ActivateGenerator(DBloodActor* actor)
|
||||||
case kGenMissileFireball:
|
case kGenMissileFireball:
|
||||||
switch (actor->xspr.data2) {
|
switch (actor->xspr.data2) {
|
||||||
case 0:
|
case 0:
|
||||||
FireballTrapSeqCallback(3, actor);
|
FireballTrapSeqCallback(actor);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
seqSpawn(35, actor, nFireballTrapClient);
|
seqSpawn(35, actor, nFireballTrapClient);
|
||||||
|
@ -2510,7 +2510,7 @@ void ActivateGenerator(DBloodActor* actor)
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void FireballTrapSeqCallback(int, DBloodActor* actor)
|
void FireballTrapSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (actor->spr.cstat & CSTAT_SPRITE_ALIGNMENT_FLOOR)
|
if (actor->spr.cstat & CSTAT_SPRITE_ALIGNMENT_FLOOR)
|
||||||
actFireMissile(actor, 0, 0, DVector3(0, 0, (actor->spr.cstat & CSTAT_SPRITE_YFLIP) ? 1 : -1), kMissileFireball);
|
actFireMissile(actor, 0, 0, DVector3(0, 0, (actor->spr.cstat & CSTAT_SPRITE_YFLIP) ? 1 : -1), kMissileFireball);
|
||||||
|
@ -2525,7 +2525,7 @@ void FireballTrapSeqCallback(int, DBloodActor* actor)
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void MGunFireSeqCallback(int, DBloodActor* actor)
|
void MGunFireSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
if (actor->xspr.data2 > 0 || actor->xspr.data1 == 0)
|
if (actor->xspr.data2 > 0 || actor->xspr.data1 == 0)
|
||||||
{
|
{
|
||||||
|
@ -2545,7 +2545,7 @@ void MGunFireSeqCallback(int, DBloodActor* actor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MGunOpenSeqCallback(int, DBloodActor* actor)
|
void MGunOpenSeqCallback(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
seqSpawn(39, actor, nMGunFireClient);
|
seqSpawn(39, actor, nMGunFireClient);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue