header cleanup

This commit is contained in:
Christoph Oelckers 2023-10-15 16:33:12 +02:00
parent 45e14732f2
commit 7674b7245b
5 changed files with 35 additions and 114 deletions

View file

@ -891,7 +891,6 @@ static void actInitDudes()
switch (act->GetType())
{
case kDudeModernCustom:
case kDudeModernCustomBurning:
act->spr.cstat |= CSTAT_SPRITE_BLOOD_BIT1 | CSTAT_SPRITE_BLOCK_ALL;
if (act->xspr.data2 > 0 && getSequence(act->xspr.data2))
seqStartId = act->xspr.data2; // Custom Dude stores it's SEQ in data2
@ -975,7 +974,7 @@ static void ConcussSprite(DBloodActor* source, DBloodActor* actor, const DVector
{
mass = getDudeInfo(actor)->mass;
#ifdef NOONE_EXTENSIONS
if (actor->GetType() == kDudeModernCustom || actor->GetType() == kDudeModernCustomBurning)
if (actor->GetType() == kDudeModernCustom)
{
mass = getSpriteMassBySize(actor);
}
@ -1311,7 +1310,6 @@ static int checkDamageType(DBloodActor* actor, DAMAGE_TYPE damageType)
{
#ifdef NOONE_EXTENSIONS
case kDudeModernCustom:
case kDudeModernCustomBurning:
{
playGenDudeSound(actor, kGenDudeSndDeathExplode);
GENDUDEEXTRA* pExtra = &actor->genDudeExtra;
@ -1553,10 +1551,6 @@ void actKillDude(DBloodActor* killerActor, DBloodActor* actor, DAMAGE_TYPE damag
genDudePostDeath(actor, damageType, damage);
return;
case kDudeModernCustomBurning:
modernCustomDudeBurningDeath(actor, nSeq);
genDudePostDeath(actor, kDamageExplode, damage);
return;
#endif
case kDudeBurningZombieAxe:
@ -2278,7 +2272,6 @@ static void checkCeilHit(DBloodActor* actor)
switch (actor->GetType())
{
case kDudeModernCustom:
case kDudeModernCustomBurning:
mass2 = getSpriteMassBySize(actor);
break;
}
@ -2302,7 +2295,6 @@ static void checkCeilHit(DBloodActor* actor)
break;
#ifdef NOONE_EXTENSIONS
case kDudeModernCustom:
case kDudeModernCustomBurning:
int dmg = 0;
if (!actor->IsDudeActor() || (dmg = ClipLow((getSpriteMassBySize(actor2) - getSpriteMassBySize(actor)) >> 1, 0)) == 0)
break;
@ -2395,7 +2387,6 @@ static void checkHit(DBloodActor* actor)
switch (actor2->GetType())
{
case kDudeModernCustom:
case kDudeModernCustomBurning:
mass2 = getSpriteMassBySize(actor2);
break;
}
@ -2467,7 +2458,6 @@ static void checkFloorHit(DBloodActor* actor)
switch (actor2->GetType())
{
case kDudeModernCustom:
case kDudeModernCustomBurning:
mass2 = getSpriteMassBySize(actor2);
break;
}
@ -4655,7 +4645,6 @@ void actFireVector(DBloodActor* shooter, double offset, double zoffset, DVector3
switch (actor->GetType())
{
case kDudeModernCustom:
case kDudeModernCustomBurning:
mass = getSpriteMassBySize(actor);
break;
}

View file

@ -222,7 +222,6 @@ bool CanMove(DBloodActor* actor, DBloodActor* target, DAngle nAngle, double nRan
break;
#ifdef NOONE_EXTENSIONS
case kDudeModernCustom:
case kDudeModernCustomBurning:
if ((Crusher && !nnExtIsImmune(actor, pXSector->damageType)) || ((Water || Underwater) && !canSwim(actor))) return false;
return true;
[[fallthrough]];
@ -437,7 +436,6 @@ void aiActivateDude(DBloodActor* actor)
}
break;
}
case kDudeModernCustomBurning:
if (actor->GetTarget() == nullptr) aiGenDudeNewState(actor, &genDudeBurnSearch);
else aiGenDudeNewState(actor, &genDudeBurnChase);
break;
@ -993,26 +991,6 @@ int aiDamageSprite(DBloodActor* source, DBloodActor* actor, DAMAGE_TYPE nDmgType
return nDamage;
}
if (actor->GetType() == kDudeModernCustomBurning)
{
if (Chance(0x2000) && actor->dudeExtra.time < PlayClock) {
playGenDudeSound(actor,kGenDudeSndBurning);
actor->dudeExtra.time = PlayClock + 360;
}
if (actor->xspr.burnTime == 0) actor->xspr.burnTime = 2400;
if (spriteIsUnderwater(actor, false))
{
actor->ChangeType(kDudeModernCustom);
actor->xspr.burnTime = 0;
actor->xspr.health = 1; // so it can be killed with flame weapons while underwater and if already was burning dude before.
aiGenDudeNewState(actor, &genDudeGotoW);
}
return nDamage;
}
if (actor->GetType() == kDudeModernCustom)
{
GENDUDEEXTRA* pExtra = &actor->genDudeExtra;
@ -1039,7 +1017,7 @@ int aiDamageSprite(DBloodActor* source, DBloodActor* actor, DAMAGE_TYPE nDmgType
aiPlay3DSound(actor, 361, AI_SFX_PRIORITY_0, -1);
playGenDudeSound(actor,kGenDudeSndBurning);
actor->ChangeType(kDudeModernCustomBurning);
//actor->ChangeType(kDudeModernCustomBurning);
if (actor->xspr.data2 == kGenDudeDefaultSeq) // don't inherit palette for burning if using default animation
actor->spr.pal = 0;
@ -1317,11 +1295,6 @@ void RecoilDude(DBloodActor* actor)
case kDudeBurningCultist:
aiNewState(actor, &cultistBurnGoto);
break;
#ifdef NOONE_EXTENSIONS
case kDudeModernCustomBurning:
aiGenDudeNewState(actor, &genDudeBurnGoto);
break;
#endif
case kDudeZombieButcher:
aiPlay3DSound(actor, 1202, AI_SFX_PRIORITY_2, -1);
if (pDudeExtra->teslaHit)
@ -1615,7 +1588,7 @@ void aiProcessDudes(void)
#ifdef NOONE_EXTENSIONS
switch (actor->GetType()) {
case kDudeModernCustom:
case kDudeModernCustomBurning: {
{
GENDUDEEXTRA* pExtra = &actor->genDudeExtra;
if (pExtra->slaveCount > 0) updateTargetOfSlaves(actor);
if (pExtra->pLifeLeech != nullptr) updateTargetOfLeech(actor);
@ -1842,7 +1815,6 @@ void aiInitSprite(DBloodActor* actor)
break;
#ifdef NOONE_EXTENSIONS
case kDudeModernCustom:
case kDudeModernCustomBurning:
if (!gModernMap) break;
aiGenDudeInitSprite(actor);
genDudePrepare(actor, kGenDudePropertyAll);

View file

@ -107,7 +107,7 @@ void burnThinkGoto(DBloodActor* actor)
case kDudeBurningTinyCaleb:
aiNewState(actor, &tinycalebBurnSearch);
break;
#ifdef NOONE_EXTENSIONS
#if 0//def NOONE_EXTENSIONS
case kDudeModernCustomBurning:
aiNewState(actor, &genDudeBurnSearch);
break;
@ -141,7 +141,7 @@ void burnThinkChase(DBloodActor* actor)
case kDudeBurningTinyCaleb:
aiNewState(actor, &tinycalebBurnGoto);
break;
#ifdef NOONE_EXTENSIONS
#if 0//def NOONE_EXTENSIONS
case kDudeModernCustomBurning:
aiNewState(actor, &genDudeBurnGoto);
break;
@ -180,7 +180,7 @@ void burnThinkChase(DBloodActor* actor)
case kDudeBurningTinyCaleb:
aiNewState(actor, &tinycalebBurnSearch);
break;
#ifdef NOONE_EXTENSIONS
#if 0//def NOONE_EXTENSIONS
case kDudeModernCustomBurning:
aiNewState(actor, &genDudeBurnSearch);
break;
@ -220,7 +220,7 @@ void burnThinkChase(DBloodActor* actor)
case kDudeBurningTinyCaleb:
aiNewState(actor, &tinycalebBurnAttack);
break;
#ifdef NOONE_EXTENSIONS
#if 0//def NOONE_EXTENSIONS
case kDudeModernCustomBurning:
aiNewState(actor, &genDudeBurnSearch);
break;
@ -252,7 +252,7 @@ void burnThinkChase(DBloodActor* actor)
case kDudeBurningTinyCaleb:
aiNewState(actor, &tinycalebBurnGoto);
break;
#ifdef NOONE_EXTENSIONS
#if 0//def NOONE_EXTENSIONS
case kDudeModernCustomBurning:
aiNewState(actor, &genDudeBurnSearch);
break;

View file

@ -496,13 +496,13 @@ void DBloodActor::Serialize(FSerializer& arc)
#ifdef NOONE_EXTENSIONS
if (gModernMap)
{
arc//("spritemass", spriteMass)
arc//("spritemass", spriteMass) // should always be cached and not written out.
("prevmarker", prevmarker)
.Array("conditions", condition, 2);
// GenDudeExtra only contains valid info for kDudeModernCustom and kDudeModernCustomBurning so only save when needed as these are not small.
if (GetType() == kDudeModernCustom || GetType() == kDudeModernCustomBurning)
if (GetType() == kDudeModernCustom)
{
arc("gendudeextra", genDudeExtra);
}

View file

@ -45,8 +45,6 @@ enum
// CONSTANTS
// additional non-thing proximity, sight and physics sprites
kMaxSuperXSprites = 512,
kMaxTrackingConditions = 64,
kMaxTracedObjects = 32, // per one tracking condition
// additional physics attributes for debris sprites
kPhysDebrisFloat = 0x0008, // *debris* slowly goes up and down from it's position
@ -67,6 +65,7 @@ enum
kModernTypeFlag32 = 0x0020,
kModernTypeFlag64 = 0x0040,
kModernTypeFlag128 = 0x0080,
kModernTypeFlag256 = 0x0100,
kMaxRandomizeRetries = 16,
kCondRange = 100,
@ -143,7 +142,6 @@ enum {
kModernRandom2 = 80,
kItemModernMapLevel = 150, // once picked up, draws whole minimap
kDudeModernCustom = kDudeVanillaMax,
kDudeModernCustomBurning = 255,
kModernThingTNTProx = 433, // detects only players
kModernThingThrowableRock = 434, // does small damage if hits target
kModernThingEnemyLifeLeech = 435, // the same as normal, except it aims in specified target only
@ -170,30 +168,6 @@ enum {
OBJ_SECTOR = 6,
};
enum {
kCondGameBase = 1,
kCondGameMax = 50,
kCondMixedBase = 100,
kCondMixedMax = 200,
kCondWallBase = 200,
kCondWallMax = 300,
kCondSectorBase = 300,
kCondSectorMax = 400,
kCondPlayerBase = 400,
kCondPlayerMax = 450,
kCondDudeBase = 450,
kCondDudeMax = 500,
kCondSpriteBase = 500,
kCondSpriteMax = 600,
};
enum {
kCondSerialSector = 100000,
kCondSerialWall = 200000,
kCondSerialSprite = 300000,
kCondSerialMax = 400000,
};
enum {
kPatrolMoveForward = 0,
kPatrolMoveBackward = 1,
@ -201,13 +175,6 @@ enum {
// - STRUCTS ------------------------------------------------------------------
struct EXTERNAL_FILES_LIST
{
const char* name;
const char* ext;
};
struct SPRITEMASS { // sprite mass info for getSpriteMassBySize();
int seqId;
FTextureID texid; // mainly needs for moving debris
@ -218,16 +185,6 @@ struct SPRITEMASS { // sprite mass info for getSpriteMassBySize();
int fraction; // mainly needs for moving debris
};
struct QAVSCENE { // this one stores qavs anims that can be played by trigger
DBloodActor* initiator = nullptr; // index of sprite which triggered qav scene
QAV* qavResrc = nullptr;
short dummy = -1;
};
struct THINGINFO_EXTRA {
bool allowThrow; // indicates if kDudeModernCustom can throw it
};
struct EXPLOSION_EXTRA
{
uint8_t seq;
@ -235,6 +192,11 @@ struct EXPLOSION_EXTRA
bool ground;
};
struct THINGINFO_EXTRA {
bool allowThrow; // indicates if kDudeModernCustom can throw it
};
struct VECTORINFO_EXTRA {
int fireSound[2]; // predefined fire sounds. used by kDudeModernCustom, but can be used for something else.
};
@ -257,10 +219,6 @@ struct DUDEINFO_EXTRA {
};
struct TRPLAYERCTRL { // this one for controlling the player using triggers (movement speed, jumps and other stuff)
QAVSCENE qavScene;
};
struct PATROL_FOUND_SOUNDS {
FSoundID snd;
@ -269,16 +227,22 @@ struct PATROL_FOUND_SOUNDS {
};
struct CONDITION_TYPE_NAMES {
int rng1;
int rng2;
char name[32];
struct QAVSCENE { // this one stores qavs anims that can be played by trigger
DBloodActor* initiator = nullptr; // index of sprite which triggered qav scene
QAV* qavResrc = nullptr;
short dummy = -1;
};
struct TRPLAYERCTRL { // this one for controlling the player using triggers (movement speed, jumps and other stuff)
QAVSCENE qavScene;
};
// - VARIABLES ------------------------------------------------------------------
inline bool rngok(int val, int rngA, int rngB) { return (val >= rngA && val < rngB); }
inline bool irngok(int val, int rngA, int rngB) { return (val >= rngA && val <= rngB); }
extern uint8_t gModernMap;
inline bool mapRev1() { return (gModernMap == 1); }
inline bool mapRev2() { return (gModernMap == 2); }
// - VARIABLES ------------------------------------------------------------------
extern bool gTeamsSpawnUsed;
extern bool gEventRedirectsUsed;
extern ZONE gStartZoneTeam1[kMaxPlayers];
@ -286,24 +250,28 @@ extern ZONE gStartZoneTeam2[kMaxPlayers];
extern const THINGINFO_EXTRA gThingInfoExtra[kThingMax];
extern const VECTORINFO_EXTRA gVectorInfoExtra[kVectorMax];
extern const MISSILEINFO_EXTRA gMissileInfoExtra[kMissileMax];
extern const EXPLOSION_EXTRA gExplodeExtra[kExplosionMax];
extern const DUDEINFO_EXTRA gDudeInfoExtra[kDudeMax];
extern TRPLAYERCTRL gPlayerCtrl[kMaxPlayers];
extern AISTATE genPatrolStates[kPatrolStateSize];
inline TArray<TObjPtr<DBloodActor*>> gProxySpritesList;
inline TArray<TObjPtr<DBloodActor*>> gSightSpritesList;
inline TArray<TObjPtr<DBloodActor*>> gPhysSpritesList;
inline TArray<TObjPtr<DBloodActor*>> gFlwSpritesList;
inline TArray<TObjPtr<DBloodActor*>> gImpactSpritesList;
extern AISTATE genPatrolStates[kPatrolStateSize];
// - FUNCTIONS ------------------------------------------------------------------
bool xsprIsFine(DBloodActor* pSpr);
bool nnExtEraseModernStuff(DBloodActor* actor);
void nnExtInitModernStuff(TArray<DBloodActor*>& actors);
void nnExtProcessSuperSprites(void);
bool nnExtIsImmune(DBloodActor* pSprite, int dmgType, int minScale = 16);
int nnExtRandom(int a, int b);
void nnExtResetGlobals();
void nnExtTriggerObject(EventObject& eob, int command, DBloodActor* initiator);
// ------------------------------------------------------------------------- //
DBloodActor* randomSpawnDude(DBloodActor* sourceactor, DBloodActor* origin, double dist, double zadd);
void sfxPlayMissileSound(DBloodActor* pSprite, int missileId);
void sfxPlayVectorSound(DBloodActor* pSprite, int vectorId);
// ------------------------------------------------------------------------- //
@ -419,7 +387,6 @@ int getSpritesNearWalls(int nSrcSect, int* spriOut, int nMax, int nDist);
bool isMovableSector(int nType);
bool isMovableSector(sectortype* pSect);
void killEffectGenCallbacks(DBloodActor* actor);
bool xsprIsFine(DBloodActor* pSpr);
bool isOnRespawn(DBloodActor* pSpr);
void nnExtOffsetPos(const DVector3& opos, DAngle nAng, DVector3& pos);
void actPropagateSpriteOwner(DBloodActor* pShot, DBloodActor* pSpr);
@ -439,19 +406,12 @@ void useDripGenerator(DBloodActor* pXSource, DBloodActor* pSprite);
int nnExtGetStartHealth(DBloodActor* actor);
int nnExtResAddExternalFiles();
inline bool mapRev1() { return (gModernMap == 1); }
inline bool mapRev2() { return (gModernMap == 2); }
inline bool valueIsBetween(int val, int min, int max)
{
return (val > min && val < max);
}
inline bool rngok(int val, int min, int max)
{
return (val > min && val < max);
}
inline int EVTIME2TICKS(int x) { return ((x * 120) / 10); }