update the first 40% of nnexts.cpp

This commit is contained in:
Christoph Oelckers 2023-10-14 23:26:48 +02:00
parent 72e744cef2
commit 15ba1bf333
7 changed files with 583 additions and 1708 deletions

View file

@ -3955,7 +3955,7 @@ static void actCheckExplosion()
getPlayer(p)->flickerEffect += t;
}
#ifdef NOONE_EXTENSIONS
#if 0 //def NOONE_EXTENSIONS temporarily disabled
if (actor->xspr.data1 != 0)
{
// add impulse for sprites from physics list
@ -4719,7 +4719,7 @@ void actFireVector(DBloodActor* shooter, double offset, double zoffset, DVector3
}
#ifdef NOONE_EXTENSIONS
// add impulse for sprites from physics list
if (gPhysSpritesCount > 0 && pVectorData->impulse)
if (gPhysSpritesList.Size() > 0 && pVectorData->impulse)
{
if (actor->hasX())

View file

@ -122,10 +122,10 @@ size_t DBloodActor::PropagateMark()
static void markgcroots()
{
#ifdef NOONE_EXTENSIONS
GC::MarkArray(gProxySpritesList, gProxySpritesCount);
GC::MarkArray(gSightSpritesList, gSightSpritesCount);
GC::MarkArray(gPhysSpritesList, gPhysSpritesCount);
GC::MarkArray(gImpactSpritesList, gImpactSpritesCount);
GC::MarkArray(gProxySpritesList);
GC::MarkArray(gSightSpritesList);
GC::MarkArray(gPhysSpritesList);
GC::MarkArray(gImpactSpritesList);
//MarkModernConditions();
MarkSprInSect();
#endif

View file

@ -181,6 +181,9 @@ enum {
kSwitchPadlock = 23,
kSwitchMax = 24,
kMultiTx1 = 25,
kMultiTx2 = 26,
// decorations
kDecorationTorch = 30,
kDecorationCandle = 32,

File diff suppressed because it is too large Load diff

View file

@ -289,6 +289,7 @@ extern TRPLAYERCTRL gPlayerCtrl[kMaxPlayers];
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];
@ -423,6 +424,9 @@ 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);
int nnExtDudeStartHealth(DBloodActor* pSpr, int nHealth);
inline bool valueIsBetween(int val, int min, int max)
{

View file

@ -2292,6 +2292,12 @@ void conditionsSetIsLocked(DBloodActor* actor, int nValue)
if (actor->xspr.busyTime)
actor->xspr.busy = 0;
}
void conditionListReset()
{
gTrackingConditionsList.Clear();
}
#endif
END_BLD_NS

View file

@ -45,6 +45,7 @@ void conditionsTrackingProcess();
void conditionsLinkPlayer(DBloodActor* pXCtrl, DBloodPlayer* pPlay);
void conditionsUpdateIndex(int oType, int oldIndex, int newIndex);
void useCondition(DBloodActor* pSource, EVENT* pEvn);
void conditionListReset();
#ifdef CONDITIONS_USE_BUBBLE_ACTION
void conditionsSetIsLocked(DBloodActor* actor, int nValue);