mirror of
https://github.com/ZDoom/Raze.git
synced 2025-03-19 23:41:34 +00:00
- moved some common utilities into the backend.
This commit is contained in:
parent
bbb860ccf3
commit
b7a5ea8ef6
27 changed files with 320 additions and 388 deletions
|
@ -288,6 +288,34 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
using CoreSectIterator = TSectIterator<DCoreActor>;
|
||||
|
||||
|
||||
inline void ChangeActorStat(DCoreActor* actor, int stat)
|
||||
{
|
||||
changespritestat(actor->GetSpriteIndex(), stat);
|
||||
}
|
||||
|
||||
inline void ChangeActorSect(DCoreActor* actor, sectortype* sect)
|
||||
{
|
||||
changespritesect(actor->GetSpriteIndex(), sector.IndexOf(sect));
|
||||
}
|
||||
|
||||
inline int SetActorZ(DCoreActor* actor, const vec3_t* newpos)
|
||||
{
|
||||
return setspritez(actor->GetSpriteIndex(), newpos);
|
||||
}
|
||||
|
||||
inline int SetActor(DCoreActor* actor, const vec3_t* newpos)
|
||||
{
|
||||
return setsprite(actor->GetSpriteIndex(), newpos);
|
||||
}
|
||||
|
||||
inline int SetActor(DCoreActor* actor, const vec3_t& newpos)
|
||||
{
|
||||
return setsprite(actor->GetSpriteIndex(), &newpos);
|
||||
}
|
||||
|
||||
|
||||
[[deprecated]]
|
||||
inline int hitscan(const vec3_t* sv, int sectnum, int vx, int vy, int vz, hitdata_t* hitinfo, unsigned cliptype)
|
||||
|
|
|
@ -6278,7 +6278,7 @@ void actCheckFlares()
|
|||
int y = pTarget->y + mulscale30r(Sin(pXSprite->goalAng + pTarget->ang), pTarget->clipdist * 2);
|
||||
int z = pTarget->z + pXSprite->targetZ;
|
||||
vec3_t pos = { x, y, z };
|
||||
setActorPos(actor, &pos);
|
||||
SetActor(actor, &pos);
|
||||
actor->xvel = target->xvel;
|
||||
actor->yvel = target->yvel;
|
||||
actor->zvel = target->zvel;
|
||||
|
@ -6325,7 +6325,7 @@ DBloodActor* actSpawnSprite(sectortype* pSector, int x, int y, int z, int nStat,
|
|||
DBloodActor* actor = InsertSprite(pSector, nStat);
|
||||
|
||||
vec3_t pos = { x, y, z };
|
||||
setActorPos(actor, &pos);
|
||||
SetActor(actor, &pos);
|
||||
spritetype* pSprite = &actor->s();
|
||||
pSprite->type = kSpriteDecoration;
|
||||
if (setextra && !actor->hasX())
|
||||
|
@ -6395,7 +6395,7 @@ DBloodActor* actSpawnDude(DBloodActor* source, int nType, int a3, int a4)
|
|||
pSprite2->type = nType;
|
||||
pSprite2->ang = angle;
|
||||
vec3_t pos = { x, y, z };
|
||||
setActorPos(spawned, &pos);
|
||||
SetActor(spawned, &pos);
|
||||
pSprite2->cstat |= 0x1101;
|
||||
pSprite2->clipdist = getDudeInfo(nDude + kDudeBase)->clipdist;
|
||||
pXSprite2->health = getDudeInfo(nDude + kDudeBase)->startHealth << 4;
|
||||
|
|
|
@ -1955,7 +1955,7 @@ DBloodActor* genDudeSpawn(DBloodActor* source, DBloodActor* actor, int nDist)
|
|||
|
||||
pDude->type = nType; pDude->ang = nAngle;
|
||||
vec3_t pos = { x, y, z };
|
||||
setActorPos(spawned, &pos);
|
||||
SetActor(spawned, &pos);
|
||||
pDude->cstat |= 0x1101; pDude->clipdist = dudeInfo[nType - kDudeBase].clipdist;
|
||||
|
||||
// inherit weapon, seq and sound settings.
|
||||
|
|
|
@ -185,18 +185,6 @@ inline void GetActorExtents(DBloodActor* actor, int* top, int* bottom)
|
|||
GetSpriteExtents(&actor->s(), top, bottom);
|
||||
}
|
||||
|
||||
inline DBloodActor* getUpperLink(int sect)
|
||||
{
|
||||
auto pSect = §or[sect];
|
||||
return pSect->upperLink;
|
||||
}
|
||||
|
||||
inline DBloodActor* getLowerLink(int sect)
|
||||
{
|
||||
auto pSect = §or[sect];
|
||||
return pSect->lowerLink;
|
||||
}
|
||||
|
||||
inline void sfxPlay3DSound(DBloodActor* pSprite, int soundId, int a3 = -1, int a4 = 0)
|
||||
{
|
||||
sfxPlay3DSound(&pSprite->s(), soundId, a3, a4);
|
||||
|
@ -215,19 +203,9 @@ inline void ChangeActorStat(DBloodActor* actor, int stat)
|
|||
ChangeSpriteStat(actor->GetSpriteIndex(), stat);
|
||||
}
|
||||
|
||||
inline void ChangeActorSect(DBloodActor* actor, int stat)
|
||||
{
|
||||
ChangeSpriteSect(actor->GetSpriteIndex(), stat);
|
||||
}
|
||||
|
||||
inline void ChangeActorSect(DBloodActor* actor, sectortype* stat)
|
||||
{
|
||||
ChangeSpriteSect(actor->GetSpriteIndex(), sectnum(stat));
|
||||
}
|
||||
|
||||
inline void setActorPos(DBloodActor* actor, vec3_t* pos)
|
||||
{
|
||||
setsprite(actor->GetSpriteIndex(), pos);
|
||||
}
|
||||
|
||||
END_BLD_NS
|
||||
|
|
|
@ -113,7 +113,7 @@ void InitMirrors(void)
|
|||
auto secti = §or[i];
|
||||
if (secti->floorpicnum == 504)
|
||||
{
|
||||
auto link = getUpperLink(i);
|
||||
auto link = secti->upperLink;
|
||||
if (link == nullptr)
|
||||
continue;
|
||||
auto link2 = link->GetOwner();
|
||||
|
|
|
@ -288,7 +288,7 @@ static DBloodActor* nnExtSpawnDude(DBloodActor* sourceActor, DBloodActor* origin
|
|||
}
|
||||
|
||||
vec3_t pos = { x, y, z };
|
||||
setActorPos(pDudeActor, &pos);
|
||||
SetActor(pDudeActor, &pos);
|
||||
|
||||
pDude->type = nType;
|
||||
pDude->ang = angle;
|
||||
|
|
|
@ -158,17 +158,17 @@ void warpInit(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
for (int i = 0; i < numsectors; i++)
|
||||
for(auto& sect : sectors())
|
||||
{
|
||||
auto actor = getUpperLink(i);
|
||||
auto actor = sect.upperLink;
|
||||
if (actor && actor->hasX())
|
||||
{
|
||||
spritetype *pSprite = &actor->s();
|
||||
XSPRITE *pXSprite = &actor->x();
|
||||
int nLink = pXSprite->data1;
|
||||
for (int j = 0; j < numsectors; j++)
|
||||
for(auto& sect : sectors())
|
||||
{
|
||||
auto actor2 = getLowerLink(j);
|
||||
auto actor2 = sect.lowerLink;
|
||||
if (actor2 && actor2->hasX())
|
||||
{
|
||||
spritetype *pSprite2 = &actor2->s();
|
||||
|
|
|
@ -216,8 +216,8 @@ static void geometryEffect(int cposx, int cposy, int cposz, binangle cang, fixed
|
|||
DukeSectIterator it(tgsect);
|
||||
while (auto act = it.Next())
|
||||
{
|
||||
changeactorsect(act, geosectorwarp[gs]);
|
||||
setsprite(act, act->s->x -= geox[gs], act->s->y -= geoy[gs], act->s->z);
|
||||
ChangeActorSect(act, geosectorwarp[gs]);
|
||||
SetActor(act, { act->s->x -= geox[gs], act->s->y -= geoy[gs], act->s->z });
|
||||
}
|
||||
if (geosector[gs] == sectp)
|
||||
{
|
||||
|
@ -236,8 +236,8 @@ static void geometryEffect(int cposx, int cposy, int cposz, binangle cang, fixed
|
|||
DukeSectIterator it(tgsect);
|
||||
while (auto act = it.Next())
|
||||
{
|
||||
changeactorsect(act, geosector[gs]);
|
||||
setsprite(act, act->s->x += geox[gs], act->s->y += geoy[gs], act->s->z);
|
||||
ChangeActorSect(act, geosector[gs]);
|
||||
SetActor(act, { act->s->x += geox[gs], act->s->y += geoy[gs], act->s->z });
|
||||
}
|
||||
}
|
||||
fi.animatesprites(pm_tsprite, pm_spritesortcnt, cposx, cposy, cang.asbuild(), smoothratio);
|
||||
|
@ -248,8 +248,8 @@ static void geometryEffect(int cposx, int cposy, int cposz, binangle cang, fixed
|
|||
DukeSectIterator it(tgsect);
|
||||
while (auto act = it.Next())
|
||||
{
|
||||
changeactorsect(act, geosectorwarp2[gs]);
|
||||
setsprite(act, act->s->x -= geox2[gs], act->s->y -= geoy2[gs], act->s->z);
|
||||
ChangeActorSect(act, geosectorwarp2[gs]);
|
||||
SetActor(act, { act->s->x -= geox2[gs], act->s->y -= geoy2[gs], act->s->z });
|
||||
}
|
||||
if (geosector[gs] == sectp)
|
||||
{
|
||||
|
@ -268,8 +268,8 @@ static void geometryEffect(int cposx, int cposy, int cposz, binangle cang, fixed
|
|||
DukeSectIterator it(tgsect);
|
||||
while (auto act = it.Next())
|
||||
{
|
||||
changeactorsect(act, geosector[gs]);
|
||||
setsprite(act, act->s->x += geox2[gs], act->s->y += geoy2[gs], act->s->z);
|
||||
ChangeActorSect(act, geosector[gs]);
|
||||
SetActor(act, { act->s->x += geox2[gs], act->s->y += geoy2[gs], act->s->z });
|
||||
}
|
||||
}
|
||||
fi.animatesprites(pm_tsprite, pm_spritesortcnt, cposx, cposy, cang.asbuild(), smoothratio);
|
||||
|
|
|
@ -386,7 +386,7 @@ void movedummyplayers(void)
|
|||
|
||||
spri->x += (ps[p].pos.x - ps[p].oposx);
|
||||
spri->y += (ps[p].pos.y - ps[p].oposy);
|
||||
setsprite(act, spri->pos);
|
||||
SetActor(act, spri->pos);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -416,7 +416,7 @@ void moveplayers(void)
|
|||
spri->z = p->oposz + gs.playerheight;
|
||||
spri->backupz();
|
||||
spri->ang = p->angle.oang.asbuild();
|
||||
setsprite(act, spri->pos);
|
||||
SetActor(act, spri->pos);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -522,7 +522,7 @@ void moveplayers(void)
|
|||
else
|
||||
{
|
||||
spri->ang = 2047 - (p->angle.ang.asbuild());
|
||||
setsprite(act, spri->pos);
|
||||
SetActor(act, spri->pos);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -662,7 +662,7 @@ void movecrane(DDukeActor *actor, int crane)
|
|||
case STAT_STANDABLE:
|
||||
case STAT_PLAYER:
|
||||
spri->ang = getangle(cpt.polex - spri->x, cpt.poley - spri->y);
|
||||
setsprite(a2, cpt.polex, cpt.poley, a2->s->z);
|
||||
SetActor(a2, { cpt.polex, cpt.poley, a2->s->z });
|
||||
t[0]++;
|
||||
return;
|
||||
}
|
||||
|
@ -779,7 +779,7 @@ void movecrane(DDukeActor *actor, int crane)
|
|||
else if (t[0] == 9)
|
||||
t[0] = 0;
|
||||
|
||||
setsprite(cpt.poleactor, spri->x, spri->y, spri->z - (34 << 8));
|
||||
SetActor(cpt.poleactor, { spri->x, spri->y, spri->z - (34 << 8) });
|
||||
|
||||
auto Owner = actor->GetOwner();
|
||||
if (Owner != nullptr || actor->IsActiveCrane())
|
||||
|
@ -799,7 +799,7 @@ void movecrane(DDukeActor *actor, int crane)
|
|||
|
||||
if (Owner != nullptr)
|
||||
{
|
||||
setsprite(Owner, spri->pos);
|
||||
SetActor(Owner, spri->pos);
|
||||
|
||||
Owner->s->opos = spri->pos;
|
||||
|
||||
|
@ -814,7 +814,7 @@ void movecrane(DDukeActor *actor, int crane)
|
|||
ps[p].pos.x = spri->x - bcos(ang, -6);
|
||||
ps[p].pos.y = spri->y - bsin(ang, -6);
|
||||
ps[p].pos.z = spri->z + (2 << 8);
|
||||
setsprite(ps[p].GetActor(), ps[p].pos.x, ps[p].pos.y, ps[p].pos.z);
|
||||
SetActor(ps[p].GetActor(), ps[p].pos);
|
||||
ps[p].setCursector(ps[p].GetActor()->s->sector());
|
||||
}
|
||||
}
|
||||
|
@ -1012,7 +1012,7 @@ void movemasterswitch(DDukeActor *actor, int spectype1, int spectype2)
|
|||
spri->picnum = 0; // give it a picnum without any behavior attached, just in case
|
||||
spri->cstat |= CSTAT_SPRITE_INVISIBLE;
|
||||
spri->cstat2 |= CSTAT2_SPRITE_NOFIND;
|
||||
changeactorstat(actor, STAT_REMOVED);
|
||||
ChangeActorStat(actor, STAT_REMOVED);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2187,7 +2187,7 @@ bool money(DDukeActor* actor, int BLOODPOOL)
|
|||
ssp(actor, CLIPMASK0);
|
||||
|
||||
if ((krand() & 3) == 0)
|
||||
setsprite(actor, s->pos);
|
||||
SetActor(actor, s->pos);
|
||||
|
||||
if (!s->insector())
|
||||
{
|
||||
|
@ -2245,11 +2245,11 @@ bool jibs(DDukeActor *actor, int JIBS6, bool timeout, bool callsetsprite, bool f
|
|||
|
||||
if (s->zvel > 1024 && s->zvel < 1280)
|
||||
{
|
||||
setsprite(actor, s->pos);
|
||||
SetActor(actor, s->pos);
|
||||
sectp = s->sector();
|
||||
}
|
||||
|
||||
if (callsetsprite) setsprite(actor, s->pos);
|
||||
if (callsetsprite) SetActor(actor, s->pos);
|
||||
|
||||
// this was after the slope calls, but we should avoid calling that for invalid sectors.
|
||||
if (!s->insector())
|
||||
|
@ -2517,7 +2517,7 @@ void glasspieces(DDukeActor* actor)
|
|||
s->xrepeat >>= 1;
|
||||
s->yrepeat >>= 1;
|
||||
if (rnd(96))
|
||||
setsprite(actor, s->pos);
|
||||
SetActor(actor, s->pos);
|
||||
t[0]++;//Number of bounces
|
||||
}
|
||||
else if (t[0] == 3)
|
||||
|
@ -2554,7 +2554,7 @@ void scrap(DDukeActor* actor, int SCRAP1, int SCRAP6)
|
|||
|
||||
if (s->zvel > 1024 && s->zvel < 1280)
|
||||
{
|
||||
setsprite(actor, s->pos);
|
||||
SetActor(actor, s->pos);
|
||||
sectp = s->sector();
|
||||
}
|
||||
|
||||
|
@ -2590,7 +2590,7 @@ void scrap(DDukeActor* actor, int SCRAP1, int SCRAP6)
|
|||
auto spawned = spawn(actor, s->yvel);
|
||||
if (spawned)
|
||||
{
|
||||
setsprite(spawned, s->pos);
|
||||
SetActor(spawned, s->pos);
|
||||
getglobalz(spawned);
|
||||
spawned->s->hitag = spawned->s->lotag = 0;
|
||||
}
|
||||
|
@ -2910,7 +2910,7 @@ void handle_se14(DDukeActor* actor, bool checkstat, int RPG, int JIBS6)
|
|||
ps[p].pos.y = s->y;
|
||||
ps[p].setCursector(s->sector());
|
||||
|
||||
setsprite(ps[p].GetActor(), s->pos);
|
||||
SetActor(ps[p].GetActor(), s->pos);
|
||||
quickkill(&ps[p]);
|
||||
}
|
||||
}
|
||||
|
@ -2977,7 +2977,7 @@ void handle_se14(DDukeActor* actor, bool checkstat, int RPG, int JIBS6)
|
|||
}
|
||||
|
||||
ms(actor);
|
||||
setsprite(actor, s->pos);
|
||||
SetActor(actor, s->pos);
|
||||
|
||||
if ((sc->floorz - sc->ceilingz) < (108 << 8))
|
||||
{
|
||||
|
@ -2994,7 +2994,7 @@ void handle_se14(DDukeActor* actor, bool checkstat, int RPG, int JIBS6)
|
|||
ps[p].oposy = ps[p].pos.y = s->y;
|
||||
ps[p].setCursector(s->sector());
|
||||
|
||||
setsprite(ps[p].GetActor(), s->pos);
|
||||
SetActor(ps[p].GetActor(), s->pos);
|
||||
quickkill(&ps[p]);
|
||||
}
|
||||
}
|
||||
|
@ -3097,7 +3097,7 @@ void handle_se30(DDukeActor *actor, int JIBS6)
|
|||
ps[p].pos.y = s->y;
|
||||
ps[p].setCursector(s->sector());
|
||||
|
||||
setsprite(ps[p].GetActor(), s->pos);
|
||||
SetActor(ps[p].GetActor(), s->pos);
|
||||
quickkill(&ps[p]);
|
||||
}
|
||||
}
|
||||
|
@ -3144,7 +3144,7 @@ void handle_se30(DDukeActor *actor, int JIBS6)
|
|||
}
|
||||
|
||||
ms(actor);
|
||||
setsprite(actor, s->pos);
|
||||
SetActor(actor, s->pos);
|
||||
|
||||
if ((sc->floorz - sc->ceilingz) < (108 << 8))
|
||||
{
|
||||
|
@ -3164,7 +3164,7 @@ void handle_se30(DDukeActor *actor, int JIBS6)
|
|||
|
||||
ps[p].setCursector(s->sector());
|
||||
|
||||
setsprite(ps[p].GetActor(), s->pos);
|
||||
SetActor(ps[p].GetActor(), s->pos);
|
||||
quickkill(&ps[p]);
|
||||
}
|
||||
}
|
||||
|
@ -3262,11 +3262,11 @@ void handle_se02(DDukeActor* actor)
|
|||
{
|
||||
sj->x += m;
|
||||
sj->y += x;
|
||||
setsprite(a2, sj->pos);
|
||||
SetActor(a2, sj->pos);
|
||||
}
|
||||
}
|
||||
ms(actor);
|
||||
setsprite(actor, s->pos);
|
||||
SetActor(actor, s->pos);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3480,7 +3480,7 @@ void handle_se05(DDukeActor* actor, int FIRELASER)
|
|||
sc->ceilingz += s->zvel;
|
||||
actor->temp_sect->ceilingz += s->zvel;
|
||||
ms(actor);
|
||||
setsprite(actor, s->pos);
|
||||
SetActor(actor, s->pos);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
@ -3644,7 +3644,7 @@ void handle_se11(DDukeActor *actor)
|
|||
t[2] += k;
|
||||
t[4] += k;
|
||||
ms(actor);
|
||||
setsprite(actor, s->pos);
|
||||
SetActor(actor, s->pos);
|
||||
|
||||
for(auto& wal : wallsofsector(sc))
|
||||
{
|
||||
|
@ -3658,7 +3658,7 @@ void handle_se11(DDukeActor *actor)
|
|||
t[2] -= k;
|
||||
t[4] -= k;
|
||||
ms(actor);
|
||||
setsprite(actor, s->pos);
|
||||
SetActor(actor, s->pos);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -3669,7 +3669,7 @@ void handle_se11(DDukeActor *actor)
|
|||
t[4] = 0;
|
||||
t[2] &= 0xffffff00;
|
||||
ms(actor);
|
||||
setsprite(actor, s->pos);
|
||||
SetActor(actor, s->pos);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3865,7 +3865,7 @@ void handle_se15(DDukeActor* actor)
|
|||
}
|
||||
|
||||
ms(actor);
|
||||
setsprite(actor, s->pos);
|
||||
SetActor(actor, s->pos);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3911,7 +3911,7 @@ void handle_se16(DDukeActor* actor, int REACTOR, int REACTOR2)
|
|||
else sc->ceilingz -= 512;
|
||||
|
||||
ms(actor);
|
||||
setsprite(actor, s->pos);
|
||||
SetActor(actor, s->pos);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
@ -4007,7 +4007,7 @@ void handle_se17(DDukeActor* actor)
|
|||
ps[p].truecz = act3->ceilingz;
|
||||
ps[p].bobcounter = 0;
|
||||
|
||||
changeactorsect(act3, spr2->sector());
|
||||
ChangeActorSect(act3, spr2->sector());
|
||||
ps[p].setCursector(spr2->sector());
|
||||
}
|
||||
else if (spr3->statnum != STAT_EFFECTOR)
|
||||
|
@ -4018,8 +4018,8 @@ void handle_se17(DDukeActor* actor)
|
|||
|
||||
spr3->backupz();
|
||||
|
||||
changeactorsect(act3, spr2->sector());
|
||||
setsprite(act3, spr3->pos);
|
||||
ChangeActorSect(act3, spr2->sector());
|
||||
SetActor(act3, spr3->pos);
|
||||
|
||||
act3->floorz = spr2->sector()->floorz;
|
||||
act3->ceilingz = spr2->sector()->ceilingz;
|
||||
|
@ -4264,7 +4264,7 @@ void handle_se20(DDukeActor* actor)
|
|||
{
|
||||
a2->s->x += x;
|
||||
a2->s->y += l;
|
||||
setsprite(a2, a2->s->pos);
|
||||
SetActor(a2, a2->s->pos);
|
||||
if (a2->sector()->floorstat & 2)
|
||||
if (a2->s->statnum == 2)
|
||||
makeitfall(a2);
|
||||
|
@ -4284,7 +4284,7 @@ void handle_se20(DDukeActor* actor)
|
|||
ps[p].oposx = ps[p].pos.x;
|
||||
ps[p].oposy = ps[p].pos.y;
|
||||
|
||||
setsprite(ps[p].GetActor(), ps[p].pos.x, ps[p].pos.y, ps[p].pos.z + gs.playerheight);
|
||||
SetActor(ps[p].GetActor(), { ps[p].pos.x, ps[p].pos.y, ps[p].pos.z + gs.playerheight });
|
||||
}
|
||||
|
||||
sc->addfloorxpan(-x / 8.f);
|
||||
|
@ -4388,7 +4388,7 @@ void handle_se26(DDukeActor* actor)
|
|||
a2->s->x += l;
|
||||
a2->s->y += x;
|
||||
a2->s->z += s->zvel;
|
||||
setsprite(a2, a2->s->pos);
|
||||
SetActor(a2, a2->s->pos);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4401,7 +4401,7 @@ void handle_se26(DDukeActor* actor)
|
|||
}
|
||||
|
||||
ms(actor);
|
||||
setsprite(actor, s->pos);
|
||||
SetActor(actor, s->pos);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
@ -4519,7 +4519,7 @@ void handle_se24(DDukeActor *actor, const int16_t *list1, const int16_t *list2,
|
|||
s2->x += x >> shift;
|
||||
s2->y += l >> shift;
|
||||
|
||||
setsprite(a2, s2->pos);
|
||||
SetActor(a2, s2->pos);
|
||||
|
||||
if (s2->sector()->floorstat & 2)
|
||||
if (s2->statnum == 2)
|
||||
|
@ -4672,7 +4672,7 @@ void handle_se35(DDukeActor *actor, int SMALLSMOKE, int EXPLOSION2)
|
|||
{
|
||||
spawned->s->xvel = 96 + (krand() & 127);
|
||||
ssp(spawned, CLIPMASK0);
|
||||
setsprite(spawned, spawned->s->pos);
|
||||
SetActor(spawned, spawned->s->pos);
|
||||
if (rnd(16))
|
||||
spawn(actor, EXPLOSION2);
|
||||
}
|
||||
|
@ -5294,7 +5294,7 @@ void fall_common(DDukeActor *actor, int playernum, int JIBS6, int DRONE, int BLO
|
|||
auto sect = s->sector();
|
||||
pushmove(&s->pos, §, 128, (4 << 8), (4 << 8), CLIPMASK0);
|
||||
if (sect != s->sector() && sect != nullptr)
|
||||
changeactorsect(actor, sect);
|
||||
ChangeActorSect(actor, sect);
|
||||
|
||||
S_PlayActorSound(thud, actor);
|
||||
}
|
||||
|
|
|
@ -535,7 +535,7 @@ int movesprite_ex_d(DDukeActor* actor, int xchange, int ychange, int zchange, un
|
|||
spri->y += (ychange * TICSPERFRAME) >> 2;
|
||||
spri->z += (zchange * TICSPERFRAME) >> 2;
|
||||
if (bg)
|
||||
setsprite(actor, spri->x, spri->y, spri->z);
|
||||
SetActor(actor, spri->pos);
|
||||
return result.setNone();
|
||||
}
|
||||
|
||||
|
@ -573,7 +573,7 @@ int movesprite_ex_d(DDukeActor* actor, int xchange, int ychange, int zchange, un
|
|||
spri->ang = (krand()&2047);
|
||||
else if ((actor->temp_data[0]&3) == 1 && spri->picnum != COMMANDER)
|
||||
spri->ang = (krand()&2047);
|
||||
setsprite(actor,spri->pos);
|
||||
SetActor(actor,spri->pos);
|
||||
if (dasectp == nullptr) dasectp = §or[0];
|
||||
return result.setSector(dasectp);
|
||||
}
|
||||
|
@ -591,7 +591,7 @@ int movesprite_ex_d(DDukeActor* actor, int xchange, int ychange, int zchange, un
|
|||
|
||||
if (dasectp != nullptr)
|
||||
if (dasectp != spri->sector())
|
||||
changeactorsect(actor, dasectp);
|
||||
ChangeActorSect(actor, dasectp);
|
||||
int daz = spri->z + ((zchange * TICSPERFRAME) >> 3);
|
||||
if ((daz > actor->ceilingz) && (daz <= actor->floorz))
|
||||
spri->z = daz;
|
||||
|
@ -758,13 +758,13 @@ void movefta_d(void)
|
|||
else s->shade = s->sector()->floorshade;
|
||||
|
||||
act->timetosleep = 0;
|
||||
changeactorstat(act, STAT_STANDABLE);
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
break;
|
||||
|
||||
default:
|
||||
act->timetosleep = 0;
|
||||
check_fta_sounds_d(act);
|
||||
changeactorstat(act, STAT_ACTOR);
|
||||
ChangeActorStat(act, STAT_ACTOR);
|
||||
break;
|
||||
}
|
||||
else act->timetosleep = 0;
|
||||
|
@ -1104,7 +1104,7 @@ static void movetripbomb(DDukeActor *actor)
|
|||
auto curSect = s->sector();
|
||||
|
||||
updatesectorneighbor(s->x, s->y, &curSect, 2048);
|
||||
changeactorsect(actor, curSect);
|
||||
ChangeActorSect(actor, curSect);
|
||||
|
||||
DDukeActor* hit;
|
||||
x = hitasprite(actor, &hit);
|
||||
|
@ -1121,7 +1121,7 @@ static void movetripbomb(DDukeActor *actor)
|
|||
auto spawned = spawn(actor, LASERLINE);
|
||||
if (spawned)
|
||||
{
|
||||
setsprite(spawned, spawned->s->pos);
|
||||
SetActor(spawned, spawned->s->pos);
|
||||
spawned->s->hitag = s->hitag;
|
||||
spawned->temp_data[1] = spawned->s->z;
|
||||
|
||||
|
@ -1139,10 +1139,10 @@ static void movetripbomb(DDukeActor *actor)
|
|||
if (curSect == nullptr)
|
||||
break;
|
||||
|
||||
changeactorsect(actor, curSect);
|
||||
ChangeActorSect(actor, curSect);
|
||||
|
||||
// this is a hack to work around the LASERLINE sprite's art tile offset
|
||||
changeactorsect(spawned, curSect);
|
||||
ChangeActorSect(spawned, curSect);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1150,7 +1150,7 @@ static void movetripbomb(DDukeActor *actor)
|
|||
actor->temp_data[0]++;
|
||||
s->x = actor->temp_data[3]; s->y = actor->temp_data[4];
|
||||
s->z += (3 << 8);
|
||||
changeactorsect(actor, oldSect);
|
||||
ChangeActorSect(actor, oldSect);
|
||||
actor->temp_data[3] = 0;
|
||||
if (hit && lTripBombControl & TRIPBOMB_TRIPWIRE)
|
||||
{
|
||||
|
@ -1168,13 +1168,13 @@ static void movetripbomb(DDukeActor *actor)
|
|||
s->x += bcos(actor->temp_data[5], -9);
|
||||
s->y += bsin(actor->temp_data[5], -9);
|
||||
s->z -= (3 << 8);
|
||||
setsprite(actor, s->pos);
|
||||
SetActor(actor, s->pos);
|
||||
|
||||
x = hitasprite(actor, nullptr);
|
||||
|
||||
s->x = actor->temp_data[3]; s->y = actor->temp_data[4];
|
||||
s->z += (3 << 8);
|
||||
setsprite(actor, s->x, s->y, s->z);
|
||||
SetActor(actor, s->pos);
|
||||
|
||||
if (actor->lastvx != x && lTripBombControl & TRIPBOMB_TRIPWIRE)
|
||||
{
|
||||
|
@ -1571,7 +1571,7 @@ static bool movefireball(DDukeActor* actor)
|
|||
FireProj proj = { spr->x, spr->y, spr->z, spr->xvel, spr->yvel, spr->zvel };
|
||||
|
||||
fire.Insert(ball->GetSpriteIndex(), proj);
|
||||
changeactorstat(ball, STAT_PROJECTILE);
|
||||
ChangeActorStat(ball, STAT_PROJECTILE);
|
||||
}
|
||||
}
|
||||
actor->temp_data[0]++;
|
||||
|
@ -1665,7 +1665,7 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const vec3_t &oldpos)
|
|||
}
|
||||
else
|
||||
{
|
||||
setsprite(proj, oldpos);
|
||||
SetActor(proj, oldpos);
|
||||
fi.checkhitwall(proj, wal, s->x, s->y, s->z, s->picnum);
|
||||
|
||||
if (s->picnum == FREEZEBLAST)
|
||||
|
@ -1693,7 +1693,7 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const vec3_t &oldpos)
|
|||
static bool weaponhitsector(DDukeActor* proj, const vec3_t& oldpos, bool fireball)
|
||||
{
|
||||
auto s = proj->s;
|
||||
setsprite(proj, oldpos);
|
||||
SetActor(proj, oldpos);
|
||||
|
||||
if (s->zvel < 0)
|
||||
{
|
||||
|
@ -2046,7 +2046,7 @@ void movetransports_d(void)
|
|||
ps[p].bobposy = ps[p].oposy = ps[p].pos.y = Owner->s->y;
|
||||
ps[p].oposz = ps[p].pos.z = Owner->s->z - gs.playerheight;
|
||||
|
||||
changeactorsect(act2, Owner->sector());
|
||||
ChangeActorSect(act2, Owner->sector());
|
||||
ps[p].setCursector(spr2->sector());
|
||||
|
||||
if (spr->pal == 0)
|
||||
|
@ -2075,7 +2075,7 @@ void movetransports_d(void)
|
|||
auto pa = ps[p].GetActor();
|
||||
pa->s->opos = ps[p].pos;
|
||||
|
||||
changeactorsect(act2, Owner->sector());
|
||||
ChangeActorSect(act2, Owner->sector());
|
||||
ps[p].setCursector(Owner->sector());
|
||||
|
||||
break;
|
||||
|
@ -2127,8 +2127,8 @@ void movetransports_d(void)
|
|||
ps[p].transporter_hold = -2;
|
||||
ps[p].setCursector(Owner->sector());
|
||||
|
||||
changeactorsect(act2, Owner->sector());
|
||||
setsprite(ps[p].GetActor(), ps[p].pos.x, ps[p].pos.y, ps[p].pos.z + gs.playerheight);
|
||||
ChangeActorSect(act2, Owner->sector());
|
||||
SetActor(ps[p].GetActor(), { ps[p].pos.x, ps[p].pos.y, ps[p].pos.z + gs.playerheight });
|
||||
|
||||
if ((krand() & 255) < 32)
|
||||
spawn(act2, WATERSPLASH2);
|
||||
|
@ -2256,7 +2256,7 @@ void movetransports_d(void)
|
|||
Owner->temp_data[0] = 13;
|
||||
}
|
||||
|
||||
changeactorsect(act2, Owner->sector());
|
||||
ChangeActorSect(act2, Owner->sector());
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -2267,7 +2267,7 @@ void movetransports_d(void)
|
|||
|
||||
spr2->backupz();
|
||||
|
||||
changeactorsect(act2, Owner->sector());
|
||||
ChangeActorSect(act2, Owner->sector());
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
|
@ -2277,7 +2277,7 @@ void movetransports_d(void)
|
|||
|
||||
spr2->backupz();
|
||||
|
||||
changeactorsect(act2, Owner->sector());
|
||||
ChangeActorSect(act2, Owner->sector());
|
||||
|
||||
break;
|
||||
case 2:
|
||||
|
@ -2287,7 +2287,7 @@ void movetransports_d(void)
|
|||
|
||||
spr2->backupz();
|
||||
|
||||
changeactorsect(act2, Owner->sector());
|
||||
ChangeActorSect(act2, Owner->sector());
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -2345,7 +2345,7 @@ static void greenslime(DDukeActor *actor)
|
|||
if (actor->timetosleep > SLEEPTIME)
|
||||
{
|
||||
actor->timetosleep = 0;
|
||||
changeactorstat(actor, 2);
|
||||
ChangeActorStat(actor, 2);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -2400,7 +2400,7 @@ static void greenslime(DDukeActor *actor)
|
|||
return;
|
||||
}
|
||||
|
||||
setsprite(actor, s->pos);
|
||||
SetActor(actor, s->pos);
|
||||
|
||||
s->ang = ps[p].angle.ang.asbuild();
|
||||
|
||||
|
@ -2782,12 +2782,12 @@ static void flamethrowerflame(DDukeActor *actor)
|
|||
}
|
||||
else if (coll.type == kHitWall)
|
||||
{
|
||||
setsprite(actor, dax, day, daz);
|
||||
SetActor(actor, { dax, day, daz });
|
||||
fi.checkhitwall(actor, coll.hitWall, s->x, s->y, s->z, s->picnum);
|
||||
}
|
||||
else if (coll.type == kHitSector)
|
||||
{
|
||||
setsprite(actor, dax, day, daz);
|
||||
SetActor(actor, { dax, day, daz });
|
||||
if (s->zvel < 0)
|
||||
fi.checkhitceiling(s->sector());
|
||||
}
|
||||
|
@ -3841,7 +3841,7 @@ void move_d(DDukeActor *actor, int playernum, int xvel)
|
|||
if ((badguy(actor) && spr->extra <= 0) || (spr->ox != spr->x) || (spr->oy != spr->y))
|
||||
{
|
||||
spr->backupvec2();
|
||||
setsprite(actor, spr->pos);
|
||||
SetActor(actor, spr->pos);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
@ -4037,7 +4037,7 @@ void checktimetosleep_d(DDukeActor *actor)
|
|||
if (actor->timetosleep > 1)
|
||||
actor->timetosleep--;
|
||||
else if (actor->timetosleep == 1)
|
||||
changeactorstat(actor, STAT_ZOMBIEACTOR);
|
||||
ChangeActorStat(actor, STAT_ZOMBIEACTOR);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -519,7 +519,7 @@ void moveminecart(void)
|
|||
{
|
||||
auto sj = a2->s;
|
||||
if (badguy(sj))
|
||||
setsprite(a2, cx, cy, sj->z);
|
||||
SetActor(a2, { cx, cy, sj->z });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -379,7 +379,7 @@ int movesprite_ex_r(DDukeActor* actor, int xchange, int ychange, int zchange, un
|
|||
spri->y += (ychange * TICSPERFRAME) >> 2;
|
||||
spri->z += (zchange * TICSPERFRAME) >> 2;
|
||||
if (bg)
|
||||
setsprite(actor, spri->x, spri->y, spri->z);
|
||||
SetActor(actor, spri->pos);
|
||||
return result.setNone();
|
||||
}
|
||||
|
||||
|
@ -404,7 +404,7 @@ int movesprite_ex_r(DDukeActor* actor, int xchange, int ychange, int zchange, un
|
|||
spri->ang = (krand() & 2047);
|
||||
else if ((actor->temp_data[0] & 3) == 1)
|
||||
spri->ang = (krand() & 2047);
|
||||
setsprite(actor, spri->pos);
|
||||
SetActor(actor, spri->pos);
|
||||
if (dasectp == nullptr) dasectp = §or[0];
|
||||
return result.setSector(dasectp);
|
||||
}
|
||||
|
@ -422,7 +422,7 @@ int movesprite_ex_r(DDukeActor* actor, int xchange, int ychange, int zchange, un
|
|||
|
||||
if (dasectp)
|
||||
if ((dasectp != spri->sector()))
|
||||
changeactorsect(actor, dasectp);
|
||||
ChangeActorSect(actor, dasectp);
|
||||
int daz = spri->z + ((zchange * TICSPERFRAME) >> 3);
|
||||
if ((daz > actor->ceilingz) && (daz <= actor->floorz))
|
||||
spri->z = daz;
|
||||
|
@ -579,7 +579,7 @@ void movefta_r(void)
|
|||
else s->shade = s->sector()->floorshade;
|
||||
|
||||
act->timetosleep = 0;
|
||||
changeactorstat(act, STAT_STANDABLE);
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
break;
|
||||
default:
|
||||
#if 0
|
||||
|
@ -588,7 +588,7 @@ void movefta_r(void)
|
|||
#endif
|
||||
act->timetosleep = 0;
|
||||
check_fta_sounds_r(act);
|
||||
changeactorstat(act, STAT_ACTOR);
|
||||
ChangeActorStat(act, STAT_ACTOR);
|
||||
break;
|
||||
}
|
||||
else act->timetosleep = 0;
|
||||
|
@ -606,7 +606,7 @@ void movefta_r(void)
|
|||
{
|
||||
act->timetosleep = 0;
|
||||
check_fta_sounds_r(act);
|
||||
changeactorstat(act, STAT_ACTOR);
|
||||
ChangeActorStat(act, STAT_ACTOR);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1223,7 +1223,7 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const vec3_t& oldpos)
|
|||
}
|
||||
else
|
||||
{
|
||||
setsprite(proj, oldpos);
|
||||
SetActor(proj, oldpos);
|
||||
fi.checkhitwall(proj, wal, s->x, s->y, s->z, s->picnum);
|
||||
|
||||
if (!isRRRA() && s->picnum == FREEZEBLAST)
|
||||
|
@ -1292,7 +1292,7 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const vec3_t& oldpos)
|
|||
bool weaponhitsector(DDukeActor *proj, const vec3_t& oldpos)
|
||||
{
|
||||
auto s = proj->s;
|
||||
setsprite(proj, oldpos);
|
||||
SetActor(proj, oldpos);
|
||||
|
||||
if (isRRRA() && proj->GetOwner() && proj->GetOwner()->s->picnum == MAMA)
|
||||
{
|
||||
|
@ -1626,7 +1626,7 @@ void movetransports_r(void)
|
|||
ps[p].bobposy = ps[p].oposy = ps[p].pos.y = Owner->s->y;
|
||||
ps[p].oposz = ps[p].pos.z = Owner->s->z - (gs.playerheight - (4 << 8));
|
||||
|
||||
changeactorsect(act2, Owner->sector());
|
||||
ChangeActorSect(act2, Owner->sector());
|
||||
ps[p].setCursector(spr2->sector());
|
||||
|
||||
auto beam = spawn(Owner, TRANSPORTERBEAM);
|
||||
|
@ -1649,7 +1649,7 @@ void movetransports_r(void)
|
|||
else ps[p].pos.z = Owner->s->z + 6144;
|
||||
ps[p].oposz = ps[p].pos.z;
|
||||
|
||||
changeactorsect(act2, Owner->sector());
|
||||
ChangeActorSect(act2, Owner->sector());
|
||||
ps[p].setCursector(Owner->sector());
|
||||
|
||||
break;
|
||||
|
@ -1714,7 +1714,7 @@ void movetransports_r(void)
|
|||
ps[p].transporter_hold = -2;
|
||||
ps[p].setCursector(Owner->sector());
|
||||
|
||||
changeactorsect(act2, Owner->sector());
|
||||
ChangeActorSect(act2, Owner->sector());
|
||||
|
||||
if ((krand() & 255) < 32)
|
||||
spawn(ps[p].GetActor(), WATERSPLASH2);
|
||||
|
@ -1728,7 +1728,7 @@ void movetransports_r(void)
|
|||
ps[p].transporter_hold = -2;
|
||||
ps[p].setCursector(Owner->sector());
|
||||
|
||||
changeactorsect(act2, Owner->sector());
|
||||
ChangeActorSect(act2, Owner->sector());
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -1857,7 +1857,7 @@ void movetransports_r(void)
|
|||
Owner->temp_data[0] = 13;
|
||||
}
|
||||
|
||||
changeactorsect(act2, Owner->sector());
|
||||
ChangeActorSect(act2, Owner->sector());
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -1868,7 +1868,7 @@ void movetransports_r(void)
|
|||
|
||||
spr2->backupz();
|
||||
|
||||
changeactorsect(act2, Owner->sector());
|
||||
ChangeActorSect(act2, Owner->sector());
|
||||
}
|
||||
break;
|
||||
case ST_1_ABOVE_WATER:
|
||||
|
@ -1878,7 +1878,7 @@ void movetransports_r(void)
|
|||
|
||||
spr2->backupz();
|
||||
|
||||
changeactorsect(act2, Owner->sector());
|
||||
ChangeActorSect(act2, Owner->sector());
|
||||
|
||||
break;
|
||||
case ST_2_UNDERWATER:
|
||||
|
@ -1888,7 +1888,7 @@ void movetransports_r(void)
|
|||
|
||||
spr2->backupz();
|
||||
|
||||
changeactorsect(act2, Owner->sector());
|
||||
ChangeActorSect(act2, Owner->sector());
|
||||
|
||||
break;
|
||||
|
||||
|
@ -1900,7 +1900,7 @@ void movetransports_r(void)
|
|||
|
||||
spr2->backupz();
|
||||
|
||||
changeactorsect(act2, Owner->sector());
|
||||
ChangeActorSect(act2, Owner->sector());
|
||||
|
||||
movesprite_ex(act2, MulScale(spr2->xvel, bcos(spr2->ang), 14),
|
||||
MulScale(spr2->xvel, bsin(spr2->ang), 14), 0, CLIPMASK1, coll);
|
||||
|
@ -1914,7 +1914,7 @@ void movetransports_r(void)
|
|||
|
||||
spr2->backupz();
|
||||
|
||||
changeactorsect(act2, Owner->sector());
|
||||
ChangeActorSect(act2, Owner->sector());
|
||||
|
||||
movesprite_ex(act2, MulScale(spr2->xvel, bcos(spr2->ang), 14),
|
||||
MulScale(spr2->xvel, bsin(spr2->ang), 14), 0, CLIPMASK1, coll);
|
||||
|
@ -2094,7 +2094,7 @@ static void rrra_specialstats()
|
|||
}
|
||||
else if (s->extra == 200)
|
||||
{
|
||||
setsprite(act, s->x, s->y, s->sector()->floorz - 10);
|
||||
SetActor(act, { s->x, s->y, s->sector()->floorz - 10 });
|
||||
s->extra = 1;
|
||||
s->picnum = PIG + 11;
|
||||
spawn(act, TRANSPORTERSTAR);
|
||||
|
@ -2483,7 +2483,7 @@ void rr_specialstats()
|
|||
ps[p].bobposy = ps[p].oposy = ps[p].pos.y = act2->s->y;
|
||||
ps[p].oposz = ps[p].pos.z = act2->s->z - (36 << 8);
|
||||
auto pact = ps[p].GetActor();
|
||||
changeactorsect(pact, act2->sector());
|
||||
ChangeActorSect(pact, act2->sector());
|
||||
ps[p].setCursector(pact->sector());
|
||||
S_PlayActorSound(70, act2);
|
||||
deletesprite(act2);
|
||||
|
@ -3031,7 +3031,7 @@ void moveactors_r(void)
|
|||
getglobalz(act);
|
||||
if (sectp->lotag == 1)
|
||||
{
|
||||
setsprite(act,s->x,s->y,act->floorz+(16<<8));
|
||||
SetActor(act, { s->x,s->y,act->floorz + (16 << 8) });
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -3804,7 +3804,7 @@ void move_r(DDukeActor *actor, int pnum, int xvel)
|
|||
if ((badguy(actor) && spr->extra <= 0) || (spr->ox != spr->x) || (spr->oy != spr->y))
|
||||
{
|
||||
spr->backupvec2();
|
||||
setsprite(actor, spr->pos);
|
||||
SetActor(actor, spr->pos);
|
||||
}
|
||||
if (badguy(actor) && spr->extra <= 0)
|
||||
{
|
||||
|
@ -4248,7 +4248,7 @@ void checktimetosleep_r(DDukeActor *actor)
|
|||
if (actor->timetosleep > 1)
|
||||
actor->timetosleep--;
|
||||
else if (actor->timetosleep == 1)
|
||||
changeactorstat(actor, STAT_ZOMBIEACTOR);
|
||||
ChangeActorStat(actor, STAT_ZOMBIEACTOR);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -100,7 +100,7 @@ static int ccmd_spawn(CCmdFuncPtr parm)
|
|||
if (set & 2) spawned->s->cstat = (uint16_t)cstat;
|
||||
if (set & 4) spawned->s->ang = ang;
|
||||
if (set & 8) {
|
||||
if (setsprite(spawned, x, y, z) < 0)
|
||||
if (SetActor(spawned, { x, y, z }) < 0)
|
||||
{
|
||||
Printf("spawn: Sprite can't be spawned into null space\n");
|
||||
deletesprite(spawned);
|
||||
|
|
|
@ -20,38 +20,6 @@ inline int player_struct::GetPlayerNum()
|
|||
return GetActor()->s->yvel;
|
||||
}
|
||||
|
||||
// Refactoring helpers/intermediates
|
||||
inline void changeactorstat(DDukeActor* a, int newstat)
|
||||
{
|
||||
::changespritestat(a->GetSpriteIndex(), newstat);
|
||||
}
|
||||
|
||||
inline void changeactorsect(DDukeActor* a, int newsect)
|
||||
{
|
||||
::changespritesect(a->GetSpriteIndex(), newsect);
|
||||
}
|
||||
|
||||
inline void changeactorsect(DDukeActor* a, sectortype* newsect)
|
||||
{
|
||||
::changespritesect(a->GetSpriteIndex(), sectnum(newsect));
|
||||
}
|
||||
|
||||
inline int setsprite(DDukeActor* a, int x, int y, int z)
|
||||
{
|
||||
return ::setsprite(a->GetSpriteIndex(), x, y, z);
|
||||
}
|
||||
|
||||
inline int setsprite(DDukeActor* a, const vec3_t& pos)
|
||||
{
|
||||
return ::setsprite(a->GetSpriteIndex(), pos.x, pos.y, pos.z);
|
||||
}
|
||||
|
||||
// see comment for changespritestat.
|
||||
inline int setsprite(int i, int x, int y, int z)
|
||||
{
|
||||
return ::setsprite(i, x, y, z);
|
||||
}
|
||||
|
||||
inline int ActorToScriptIndex(DDukeActor* a)
|
||||
{
|
||||
if (!a) return -1;
|
||||
|
|
|
@ -1197,14 +1197,6 @@ void DoActor(bool bSet, int lVar1, int lLabelID, int lVar2, DDukeActor* sActor,
|
|||
if (bSet) spr->yoffset = lValue;
|
||||
else SetGameVarID(lVar2, spr->yoffset, sActor, sPlayer);
|
||||
break;
|
||||
case ACTOR_SECTNUM:
|
||||
if (bSet) changespritesect(iActor, lValue);
|
||||
else SetGameVarID(lVar2, spr->sectnum, sActor, sPlayer);
|
||||
break;
|
||||
case ACTOR_STATNUM:
|
||||
if (bSet) changespritestat(iActor, lValue);
|
||||
else SetGameVarID(lVar2, spr->statnum, sActor, sPlayer);
|
||||
break;
|
||||
case ACTOR_ANG:
|
||||
if (bSet) spr->ang = lValue;
|
||||
else SetGameVarID(lVar2, spr->ang, sActor, sPlayer);
|
||||
|
@ -2210,7 +2202,7 @@ int ParseState::parse(void)
|
|||
g_sp->z = ps[g_p].oposz = ps[g_p].pos.z;
|
||||
g_sp->backuppos();
|
||||
updatesector(ps[g_p].pos.x, ps[g_p].pos.y, &ps[g_p].cursector);
|
||||
setsprite(ps[g_p].GetActor(), ps[g_p].pos.x, ps[g_p].pos.y, ps[g_p].pos.z + gs.playerheight);
|
||||
SetActor(ps[g_p].GetActor(), { ps[g_p].pos.x, ps[g_p].pos.y, ps[g_p].pos.z + gs.playerheight });
|
||||
g_sp->cstat = 257;
|
||||
|
||||
g_sp->shade = -12;
|
||||
|
@ -3694,7 +3686,7 @@ void LoadActor(DDukeActor *actor, int p, int x)
|
|||
if (actor->timetosleep > 1)
|
||||
actor->timetosleep--;
|
||||
else if (actor->timetosleep == 1)
|
||||
changeactorstat(actor, STAT_ZOMBIEACTOR);
|
||||
ChangeActorStat(actor, STAT_ZOMBIEACTOR);
|
||||
}
|
||||
|
||||
else if (actor->s->statnum == 6)
|
||||
|
@ -3802,7 +3794,7 @@ void execute(DDukeActor *actor,int p,int x)
|
|||
if (actor->timetosleep > 1)
|
||||
actor->timetosleep--;
|
||||
else if (actor->timetosleep == 1)
|
||||
changeactorstat(actor, STAT_ZOMBIEACTOR);
|
||||
ChangeActorStat(actor, STAT_ZOMBIEACTOR);
|
||||
}
|
||||
|
||||
else if (actor->s->statnum == STAT_STANDABLE)
|
||||
|
|
|
@ -1041,7 +1041,7 @@ void shootbloodsplat(DDukeActor* actor, int p, int sx, int sy, int sz, int sa, i
|
|||
spawned->s->z = hit.hitpos.z;
|
||||
spawned->s->cstat |= (krand() & 4);
|
||||
ssp(spawned, CLIPMASK0);
|
||||
setsprite(spawned, spawned->s->pos);
|
||||
SetActor(spawned, spawned->s->pos);
|
||||
if (s->picnum == OOZFILTER || s->picnum == NEWBEAST)
|
||||
spawned->s->pal = 6;
|
||||
}
|
||||
|
|
|
@ -3038,7 +3038,7 @@ HORIZONLY:
|
|||
p->pos.x += p->posxv >> 14;
|
||||
p->pos.y += p->posyv >> 14;
|
||||
updatesector(p->pos.x, p->pos.y, &p->cursector);
|
||||
changeactorsect(pact, p->cursector);
|
||||
ChangeActorSect(pact, p->cursector);
|
||||
}
|
||||
else
|
||||
clipmove(p->pos, &p->cursector, p->posxv, p->posyv, 164, (4 << 8), ii, CLIPMASK0, clip);
|
||||
|
@ -3065,7 +3065,7 @@ HORIZONLY:
|
|||
}
|
||||
|
||||
// RBG***
|
||||
setsprite(pact, p->pos.x, p->pos.y, p->pos.z + gs.playerheight);
|
||||
SetActor(pact, { p->pos.x, p->pos.y, p->pos.z + gs.playerheight });
|
||||
|
||||
if (psectlotag < 3)
|
||||
{
|
||||
|
@ -3086,7 +3086,7 @@ HORIZONLY:
|
|||
S_PlayActorSound(DUKE_ONWATER, pact);
|
||||
|
||||
if (p->cursector != s->sector())
|
||||
changeactorsect(pact, p->cursector);
|
||||
ChangeActorSect(pact, p->cursector);
|
||||
|
||||
if (ud.clipping == 0)
|
||||
j = (pushmove(&p->pos, &p->cursector, 164L, (4L << 8), (4L << 8), CLIPMASK0) < 0 && furthestangle(p->GetActor(), 8) < 512);
|
||||
|
|
|
@ -3795,7 +3795,7 @@ HORIZONLY:
|
|||
p->pos.x += p->posxv >> 14;
|
||||
p->pos.y += p->posyv >> 14;
|
||||
updatesector(p->pos.x, p->pos.y, &p->cursector);
|
||||
changeactorsect(pact, p->cursector);
|
||||
ChangeActorSect(pact, p->cursector);
|
||||
}
|
||||
else
|
||||
clipmove(p->pos, &p->cursector, p->posxv, p->posyv, 164, (4 << 8), i, CLIPMASK0, clip);
|
||||
|
@ -3854,7 +3854,7 @@ HORIZONLY:
|
|||
S_PlayActorSound(404, clip.actor());
|
||||
else
|
||||
check_fta_sounds_r(clip.actor());
|
||||
changeactorstat(clip.actor(), 1);
|
||||
ChangeActorStat(clip.actor(), 1);
|
||||
}
|
||||
}
|
||||
else if (!isRRRA() && clip.actor()->s->picnum == RRTILE3410)
|
||||
|
@ -3895,7 +3895,7 @@ HORIZONLY:
|
|||
}
|
||||
|
||||
// RBG***
|
||||
setsprite(pact, p->pos.x, p->pos.y, p->pos.z + gs.playerheight);
|
||||
SetActor(pact, { p->pos.x, p->pos.y, p->pos.z + gs.playerheight });
|
||||
|
||||
if (psectlotag == 800 && (!isRRRA() || !p->lotag800kill))
|
||||
{
|
||||
|
@ -3924,7 +3924,7 @@ HORIZONLY:
|
|||
S_PlayActorSound(DUKE_ONWATER, pact);
|
||||
|
||||
if (p->cursector != s->sector())
|
||||
changeactorsect(pact, p->cursector);
|
||||
ChangeActorSect(pact, p->cursector);
|
||||
|
||||
int j;
|
||||
if (ud.clipping == 0)
|
||||
|
|
|
@ -1427,12 +1427,12 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj)
|
|||
auto sp = s->sector();
|
||||
pushmove(&s->pos, &sp, 128L, (4 << 8), (4 << 8), CLIPMASK0);
|
||||
if (sp != s->sector() && sp != nullptr)
|
||||
changeactorsect(targ, sp);
|
||||
ChangeActorSect(targ, sp);
|
||||
}
|
||||
|
||||
if (s->statnum == 2)
|
||||
{
|
||||
changeactorstat(targ, 1);
|
||||
ChangeActorStat(targ, 1);
|
||||
targ->timetosleep = SLEEPTIME;
|
||||
}
|
||||
if ((s->xrepeat < 24 || s->picnum == SHARK) && pspr->picnum == SHRINKSPARK) return;
|
||||
|
|
|
@ -320,7 +320,7 @@ void operaterespawns_r(int low)
|
|||
}
|
||||
case RRTILE7424:
|
||||
if (isRRRA() && !ud.monsters_off)
|
||||
changeactorstat(act, 119);
|
||||
ChangeActorStat(act, 119);
|
||||
break;
|
||||
|
||||
}
|
||||
|
@ -1723,7 +1723,7 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj)
|
|||
case RRTILE8166:
|
||||
case RRTILE8167:
|
||||
case RRTILE8168:
|
||||
changeactorstat(targ, STAT_MISC);
|
||||
ChangeActorStat(targ, STAT_MISC);
|
||||
s->picnum = RRTILE5063;
|
||||
S_PlayActorSound(GLASS_HEAVYBREAK, targ);
|
||||
break;
|
||||
|
@ -1734,7 +1734,7 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj)
|
|||
case RRTILE8593:
|
||||
case RRTILE8594:
|
||||
case RRTILE8595:
|
||||
changeactorstat(targ, STAT_MISC);
|
||||
ChangeActorStat(targ, STAT_MISC);
|
||||
s->picnum = RRTILE8588;
|
||||
S_PlayActorSound(GLASS_HEAVYBREAK, targ);
|
||||
break;
|
||||
|
@ -2393,7 +2393,7 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj)
|
|||
|
||||
if (s->statnum == 2)
|
||||
{
|
||||
changeactorstat(targ, 1);
|
||||
ChangeActorStat(targ, 1);
|
||||
targ->timetosleep = SLEEPTIME;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -248,7 +248,7 @@ void spawninitdefault(DDukeActor* actj, DDukeActor *act)
|
|||
{
|
||||
// make it go away...
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -261,7 +261,7 @@ void spawninitdefault(DDukeActor* actj, DDukeActor *act)
|
|||
if (ud.monsters_off == 1)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -278,15 +278,15 @@ void spawninitdefault(DDukeActor* actj, DDukeActor *act)
|
|||
{
|
||||
if (actj->s->picnum == RESPAWN)
|
||||
act->tempang = sp->pal = actj->s->pal;
|
||||
changeactorstat(act, STAT_ACTOR);
|
||||
ChangeActorStat(act, STAT_ACTOR);
|
||||
}
|
||||
else changeactorstat(act, STAT_ZOMBIEACTOR);
|
||||
else ChangeActorStat(act, STAT_ZOMBIEACTOR);
|
||||
}
|
||||
else
|
||||
{
|
||||
sp->clipdist = 40;
|
||||
act->SetOwner(act);
|
||||
changeactorstat(act, STAT_ACTOR);
|
||||
ChangeActorStat(act, STAT_ACTOR);
|
||||
}
|
||||
|
||||
act->timetosleep = 0;
|
||||
|
@ -334,9 +334,9 @@ void spawntransporter(DDukeActor *actj, DDukeActor* acti, bool beam)
|
|||
sp->ang = spj->ang;
|
||||
|
||||
sp->xvel = 128;
|
||||
changeactorstat(acti, STAT_MISC);
|
||||
ChangeActorStat(acti, STAT_MISC);
|
||||
ssp(acti, CLIPMASK0);
|
||||
setsprite(acti, sp->x, sp->y, sp->z);
|
||||
SetActor(acti, sp->pos);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
@ -362,18 +362,18 @@ int spawnbloodpoolpart1(DDukeActor* acti)
|
|||
updatesector(sp->x - 108, sp->y + 108, &s1);
|
||||
if (s1 && s1->floorz != sp->sector()->floorz)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0; changeactorstat(acti, STAT_MISC); return true;
|
||||
sp->xrepeat = sp->yrepeat = 0; ChangeActorStat(acti, STAT_MISC); return true;
|
||||
}
|
||||
}
|
||||
else { sp->xrepeat = sp->yrepeat = 0; changeactorstat(acti, STAT_MISC); return true; }
|
||||
else { sp->xrepeat = sp->yrepeat = 0; ChangeActorStat(acti, STAT_MISC); return true; }
|
||||
}
|
||||
else { sp->xrepeat = sp->yrepeat = 0; changeactorstat(acti, STAT_MISC); return true; }
|
||||
else { sp->xrepeat = sp->yrepeat = 0; ChangeActorStat(acti, STAT_MISC); return true; }
|
||||
}
|
||||
else { sp->xrepeat = sp->yrepeat = 0; changeactorstat(acti, STAT_MISC); return true; }
|
||||
else { sp->xrepeat = sp->yrepeat = 0; ChangeActorStat(acti, STAT_MISC); return true; }
|
||||
|
||||
if (sp->sector()->lotag == 1)
|
||||
{
|
||||
changeactorstat(acti, STAT_MISC);
|
||||
ChangeActorStat(acti, STAT_MISC);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -405,7 +405,7 @@ void initfootprint(DDukeActor* actj, DDukeActor* acti)
|
|||
updatesector(sp->x - 84, sp->y + 84, &s1);
|
||||
if (s1 && s1->floorz != sp->sector()->floorz)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0; changeactorstat(acti, STAT_MISC); return;
|
||||
sp->xrepeat = sp->yrepeat = 0; ChangeActorStat(acti, STAT_MISC); return;
|
||||
}
|
||||
}
|
||||
else { sp->xrepeat = sp->yrepeat = 0; return; }
|
||||
|
@ -423,7 +423,7 @@ void initfootprint(DDukeActor* actj, DDukeActor* acti)
|
|||
sp->xrepeat = sp->yrepeat = 32;
|
||||
|
||||
insertspriteq(acti);
|
||||
changeactorstat(acti, STAT_MISC);
|
||||
ChangeActorStat(acti, STAT_MISC);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
@ -475,7 +475,7 @@ void initshell(DDukeActor* actj, DDukeActor* acti, bool isshell)
|
|||
|
||||
sp->xrepeat = sp->yrepeat = isRR() && isshell? 2 : 4;
|
||||
|
||||
changeactorstat(acti, STAT_MISC);
|
||||
ChangeActorStat(acti, STAT_MISC);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -522,14 +522,14 @@ void initcrane(DDukeActor* actj, DDukeActor* acti, int CRANEPOLE)
|
|||
ss->z = sp->z;
|
||||
ss->shade = sp->shade;
|
||||
|
||||
setsprite(act, ss->pos);
|
||||
SetActor(act, ss->pos);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
acti->SetOwner(nullptr);
|
||||
sp->extra = 8;
|
||||
changeactorstat(acti, STAT_STANDABLE);
|
||||
ChangeActorStat(acti, STAT_STANDABLE);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
@ -563,7 +563,7 @@ void initwaterdrip(DDukeActor* actj, DDukeActor* actor)
|
|||
}
|
||||
sp->xrepeat = 24;
|
||||
sp->yrepeat = 24;
|
||||
changeactorstat(actor, STAT_STANDABLE);
|
||||
ChangeActorStat(actor, STAT_STANDABLE);
|
||||
}
|
||||
|
||||
|
||||
|
@ -581,7 +581,7 @@ int initreactor(DDukeActor* actj, DDukeActor* actor, bool isrecon)
|
|||
if (sp->lotag > ud.player_skill)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(actor, STAT_MISC);
|
||||
ChangeActorStat(actor, STAT_MISC);
|
||||
return true;
|
||||
}
|
||||
if (!isRR() || actorflag(actor, SFLAG_KILLCOUNT)) // Duke is just like Doom - Bad guys always count as kill.
|
||||
|
@ -590,7 +590,7 @@ int initreactor(DDukeActor* actj, DDukeActor* actor, bool isrecon)
|
|||
if (ud.monsters_off == 1)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(actor, STAT_MISC);
|
||||
ChangeActorStat(actor, STAT_MISC);
|
||||
return false;
|
||||
}
|
||||
sp->extra = 130;
|
||||
|
@ -603,13 +603,13 @@ int initreactor(DDukeActor* actj, DDukeActor* actor, bool isrecon)
|
|||
if (ud.multimode < 2 && sp->pal != 0)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(actor, STAT_MISC);
|
||||
ChangeActorStat(actor, STAT_MISC);
|
||||
return false;
|
||||
}
|
||||
sp->pal = 0;
|
||||
sp->shade = -17;
|
||||
|
||||
changeactorstat(actor, 2);
|
||||
ChangeActorStat(actor, 2);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -654,7 +654,7 @@ void spawneffector(DDukeActor* actor)
|
|||
|
||||
t[4] = sectp->floorz == sp->z;
|
||||
sp->cstat = 0;
|
||||
changeactorstat(actor, STAT_TRANSPORT);
|
||||
ChangeActorStat(actor, STAT_TRANSPORT);
|
||||
return;
|
||||
case SE_1_PIVOT:
|
||||
actor->SetOwner(nullptr);
|
||||
|
@ -968,7 +968,7 @@ void spawneffector(DDukeActor* actor)
|
|||
sp->picnum = 0;
|
||||
sp->cstat2 = CSTAT2_SPRITE_NOFIND;
|
||||
sp->cstat = CSTAT_SPRITE_INVISIBLE;
|
||||
changeactorsect(actor, STAT_REMOVED);
|
||||
ChangeActorStat(actor, STAT_REMOVED);
|
||||
Printf("Found lonely Sector Effector (lotag 0) at (%d,%d)\n", sp->x, sp->y);
|
||||
return;
|
||||
}
|
||||
|
@ -1075,9 +1075,9 @@ void spawneffector(DDukeActor* actor)
|
|||
|
||||
if ((!isRR() && actor->s->lotag >= 40 && actor->s->lotag <= 45) ||
|
||||
(isRRRA() && actor->s->lotag >= 150 && actor->s->lotag <= 155))
|
||||
changeactorstat(actor, STAT_RAROR);
|
||||
ChangeActorStat(actor, STAT_RAROR);
|
||||
else
|
||||
changeactorstat(actor, STAT_EFFECTOR);
|
||||
ChangeActorStat(actor, STAT_EFFECTOR);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -90,7 +90,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
if ((sp->lotag > ud.player_skill) || ud.monsters_off)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
else
|
||||
|
@ -103,15 +103,15 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
if (spj) {
|
||||
act->timetosleep = 0;
|
||||
check_fta_sounds_d(act);
|
||||
changeactorstat(act, 1);
|
||||
ChangeActorStat(act, 1);
|
||||
}
|
||||
else
|
||||
changeactorstat(act, 2);
|
||||
ChangeActorStat(act, 2);
|
||||
}
|
||||
return act;
|
||||
case FIREFLYFLYINGEFFECT:
|
||||
act->SetOwner(actj);
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
sp->xrepeat = 16;
|
||||
sp->yrepeat = 16;
|
||||
return act;
|
||||
|
@ -119,21 +119,21 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
if (spj->xrepeat < 30)
|
||||
return act;
|
||||
act->SetOwner(actj);
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
sp->x += krand() % 512 - 256;
|
||||
sp->y += krand() % 512 - 256;
|
||||
sp->xrepeat = 16;
|
||||
sp->yrepeat = 16;
|
||||
return act;
|
||||
case WHISPYSMOKE:
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
sp->x += krand() % 256 - 128;
|
||||
sp->y += krand() % 256 - 128;
|
||||
sp->xrepeat = 20;
|
||||
sp->yrepeat = 20;
|
||||
return act;
|
||||
case SERIOUSSAM:
|
||||
changeactorstat(act, 2);
|
||||
ChangeActorStat(act, 2);
|
||||
sp->cstat = 257;
|
||||
sp->extra = 150;
|
||||
return act;
|
||||
|
@ -147,12 +147,12 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
break;
|
||||
case FOF:
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
case WATERSPLASH2:
|
||||
if (spj)
|
||||
{
|
||||
setsprite(act, spj->x, spj->y, spj->z);
|
||||
SetActor(act, spj->pos);
|
||||
sp->xrepeat = sp->yrepeat = 8 + (krand() & 7);
|
||||
}
|
||||
else sp->xrepeat = sp->yrepeat = 16 + (krand() & 15);
|
||||
|
@ -203,7 +203,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
case DUKETORSO:
|
||||
case DUKEGUN:
|
||||
case DUKELEG:
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
case TONGUE:
|
||||
if (spj)
|
||||
|
@ -211,7 +211,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
sp->z -= PHEIGHT_DUKE;
|
||||
sp->zvel = 256 - (krand() & 511);
|
||||
sp->xvel = 64 - (krand() & 127);
|
||||
changeactorstat(act, 4);
|
||||
ChangeActorStat(act, 4);
|
||||
break;
|
||||
case NATURALLIGHTNING:
|
||||
sp->cstat &= ~257;
|
||||
|
@ -231,7 +231,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
}
|
||||
else sp->xrepeat = sp->yrepeat = 0;
|
||||
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
|
||||
break;
|
||||
|
||||
|
@ -250,19 +250,19 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
}
|
||||
|
||||
if (spj) sp->ang = actj->temp_data[5] + 512;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
|
||||
case FORCESPHERE:
|
||||
if (!spj)
|
||||
{
|
||||
sp->cstat = 32768;
|
||||
changeactorstat(act, 2);
|
||||
ChangeActorStat(act, 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 1;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -271,7 +271,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
sp->z -= (26 << 8);
|
||||
if (spj && spj->pal == 6)
|
||||
sp->pal = 6;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
case LAVAPOOL:
|
||||
if (!isWorldTour()) // Twentieth Anniversary World Tour
|
||||
|
@ -310,7 +310,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
case FECES:
|
||||
if (spj)
|
||||
sp->xrepeat = sp->yrepeat = 1;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
|
||||
case BLOODSPLAT1:
|
||||
|
@ -324,14 +324,14 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
if (spj && spj->pal == 6)
|
||||
sp->pal = 6;
|
||||
insertspriteq(act);
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
|
||||
case TRIPBOMB:
|
||||
if (sp->lotag > ud.player_skill)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -355,7 +355,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
sp->extra = 20;
|
||||
sp->cstat |= 257;
|
||||
}
|
||||
changeactorstat(act, 2);
|
||||
ChangeActorStat(act, 2);
|
||||
break;
|
||||
|
||||
case HYDRENT:
|
||||
|
@ -427,12 +427,12 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
sp->cstat |= 257;
|
||||
[[fallthrough]];
|
||||
case OCEANSPRITE4:
|
||||
changeactorstat(act, 0);
|
||||
ChangeActorStat(act, 0);
|
||||
break;
|
||||
case FEMMAG1:
|
||||
case FEMMAG2:
|
||||
sp->cstat &= ~257;
|
||||
changeactorstat(act, 0);
|
||||
ChangeActorStat(act, 0);
|
||||
break;
|
||||
case DUKETAG:
|
||||
case SIGN1:
|
||||
|
@ -440,7 +440,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
if (ud.multimode < 2 && sp->pal)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
}
|
||||
else sp->pal = 0;
|
||||
break;
|
||||
|
@ -462,7 +462,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
{
|
||||
int j = sp->cstat & 60;
|
||||
sp->cstat = j | 1;
|
||||
changeactorstat(act, 0);
|
||||
ChangeActorStat(act, 0);
|
||||
break;
|
||||
}
|
||||
case FOOTPRINTS:
|
||||
|
@ -507,7 +507,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
sp->clipdist = 32;
|
||||
}
|
||||
|
||||
changeactorstat(act, 2);
|
||||
ChangeActorStat(act, 2);
|
||||
break;
|
||||
|
||||
case DUKELYINGDEAD:
|
||||
|
@ -546,7 +546,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
sp->yvel = sp->hitag;
|
||||
[[fallthrough]];
|
||||
case WEATHERWARN:
|
||||
changeactorstat(act, 1);
|
||||
ChangeActorStat(act, 1);
|
||||
break;
|
||||
|
||||
case SPOTLITE:
|
||||
|
@ -568,7 +568,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
sp->xrepeat = sp->yrepeat = 8;
|
||||
sp->ang = krand() & 2047;
|
||||
}
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
|
||||
case VIEWSCREEN:
|
||||
|
@ -576,7 +576,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
act->SetOwner(act);
|
||||
sp->lotag = 1;
|
||||
sp->extra = 1;
|
||||
changeactorstat(act, 6);
|
||||
ChangeActorStat(act, 6);
|
||||
break;
|
||||
|
||||
case SHELL: //From the player
|
||||
|
@ -591,11 +591,11 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
if (ud.multimode < 2 && sp->pal == 1)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
sp->cstat = 32768;
|
||||
changeactorstat(act, 11);
|
||||
ChangeActorStat(act, 11);
|
||||
break;
|
||||
|
||||
case ONFIRE:
|
||||
|
@ -657,7 +657,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
sp->cstat |= 0x80;
|
||||
}
|
||||
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
|
||||
break;
|
||||
|
||||
|
@ -670,7 +670,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
if (sp->sector()->lotag != 2)
|
||||
sp->cstat |= 32768;
|
||||
}
|
||||
changeactorstat(act, STAT_DUMMYPLAYER);
|
||||
ChangeActorStat(act, STAT_DUMMYPLAYER);
|
||||
break;
|
||||
|
||||
case APLAYER:
|
||||
|
@ -680,9 +680,9 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
if (j == 2) j = 0;
|
||||
|
||||
if (ud.multimode < 2 || (ud.multimode > 1 && j != sp->lotag))
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
else
|
||||
changeactorstat(act, STAT_PLAYER);
|
||||
ChangeActorStat(act, STAT_PLAYER);
|
||||
break;
|
||||
}
|
||||
case WATERBUBBLE:
|
||||
|
@ -696,7 +696,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
}
|
||||
else sp->xrepeat = sp->yrepeat = 32;
|
||||
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
|
||||
case CRANE:
|
||||
|
@ -718,12 +718,12 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
sp->yrepeat = 24;
|
||||
|
||||
|
||||
changeactorstat(act, 6);
|
||||
ChangeActorStat(act, 6);
|
||||
break;
|
||||
|
||||
case PLUG:
|
||||
sp->lotag = 9999;
|
||||
changeactorstat(act, 6);
|
||||
ChangeActorStat(act, 6);
|
||||
break;
|
||||
case TOUCHPLATE:
|
||||
t[2] = sectp->floorz;
|
||||
|
@ -734,7 +734,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
if (sp->pal && ud.multimode > 1)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -744,7 +744,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
|| (sp->pal == 3 && (ud.multimode == 1 || (ud.multimode > 1 && ud.coop == 1)))) // Dukematch Only
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -756,7 +756,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
sp->hitag = 0;
|
||||
}
|
||||
sp->cstat |= 32768;
|
||||
changeactorstat(act, 6);
|
||||
ChangeActorStat(act, 6);
|
||||
break;
|
||||
case BOLT1:
|
||||
case BOLT1 + 1:
|
||||
|
@ -773,14 +773,14 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
if (sp->picnum == MASTERSWITCH)
|
||||
sp->cstat |= 32768;
|
||||
sp->yvel = 0;
|
||||
changeactorstat(act, 6);
|
||||
ChangeActorStat(act, 6);
|
||||
break;
|
||||
case TARGET:
|
||||
case DUCK:
|
||||
case LETTER:
|
||||
sp->extra = 1;
|
||||
sp->cstat |= 257;
|
||||
changeactorstat(act, 1);
|
||||
ChangeActorStat(act, 1);
|
||||
break;
|
||||
case OCTABRAINSTAYPUT:
|
||||
case LIZTROOPSTAYPUT:
|
||||
|
@ -875,7 +875,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
if ((sp->lotag > ud.player_skill) || ud.monsters_off == 1)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
else
|
||||
|
@ -902,9 +902,9 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
{
|
||||
act->timetosleep = 0;
|
||||
check_fta_sounds_d(act);
|
||||
changeactorstat(act, 1);
|
||||
ChangeActorStat(act, 1);
|
||||
}
|
||||
else changeactorstat(act, 2);
|
||||
else ChangeActorStat(act, 2);
|
||||
}
|
||||
|
||||
if (sp->picnum == ROTATEGUN)
|
||||
|
@ -914,7 +914,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
|
||||
case LOCATORS:
|
||||
sp->cstat |= 32768;
|
||||
changeactorstat(act, 7);
|
||||
ChangeActorStat(act, 7);
|
||||
break;
|
||||
|
||||
case ACTIVATORLOCKED:
|
||||
|
@ -922,13 +922,13 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
sp->cstat = 32768;
|
||||
if (sp->picnum == ACTIVATORLOCKED)
|
||||
sp->sector()->lotag |= 16384;
|
||||
changeactorstat(act, 8);
|
||||
ChangeActorStat(act, 8);
|
||||
break;
|
||||
|
||||
case DOORSHOCK:
|
||||
sp->cstat |= 1 + 256;
|
||||
sp->shade = -12;
|
||||
changeactorstat(act, 6);
|
||||
ChangeActorStat(act, 6);
|
||||
break;
|
||||
|
||||
case OOZ:
|
||||
|
@ -943,7 +943,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
insertspriteq(act);
|
||||
}
|
||||
|
||||
changeactorstat(act, 1);
|
||||
ChangeActorStat(act, 1);
|
||||
|
||||
getglobalz(act);
|
||||
|
||||
|
@ -1022,7 +1022,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
if ((ud.multimode < 2 && sp->pal != 0) || (sp->lotag > ud.player_skill))
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1037,7 +1037,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
if (ud.multimode > 1 && ud.coop != 1 && sp->picnum == ACCESSCARD)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
else
|
||||
|
@ -1049,10 +1049,10 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
|
||||
sp->shade = -17;
|
||||
|
||||
if (spj) changeactorstat(act, STAT_ACTOR);
|
||||
if (spj) ChangeActorStat(act, STAT_ACTOR);
|
||||
else
|
||||
{
|
||||
changeactorstat(act, STAT_ZOMBIEACTOR);
|
||||
ChangeActorStat(act, STAT_ZOMBIEACTOR);
|
||||
makeitfall(act);
|
||||
}
|
||||
break;
|
||||
|
@ -1068,12 +1068,12 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
case BOX:
|
||||
sp->cstat = 257; // Make it hitable
|
||||
sp->extra = 1;
|
||||
changeactorstat(act, STAT_STANDABLE);
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
break;
|
||||
|
||||
case FLOORFLAME:
|
||||
sp->shade = -127;
|
||||
changeactorstat(act, STAT_STANDABLE);
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
break;
|
||||
|
||||
case BOUNCEMINE:
|
||||
|
@ -1082,7 +1082,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
sp->xrepeat = sp->yrepeat = 24;
|
||||
sp->shade = -127;
|
||||
sp->extra = gs.impact_damage << 2;
|
||||
changeactorstat(act, STAT_ZOMBIEACTOR);
|
||||
ChangeActorStat(act, STAT_ZOMBIEACTOR);
|
||||
break;
|
||||
|
||||
case CAMERA1:
|
||||
|
@ -1102,13 +1102,13 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
if (ud.multimode < 2 && sp->pal != 0)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
else sp->pal = 0;
|
||||
if (sp->picnum == CAMERAPOLE || sp->picnum == GENERICPOLE) break;
|
||||
sp->picnum = CAMERA1;
|
||||
changeactorstat(act, 1);
|
||||
ChangeActorStat(act, 1);
|
||||
break;
|
||||
case STEAM:
|
||||
if (spj)
|
||||
|
@ -1121,7 +1121,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
}
|
||||
[[fallthrough]];
|
||||
case CEILINGSTEAM:
|
||||
changeactorstat(act, STAT_STANDABLE);
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
break;
|
||||
|
||||
case SECTOREFFECTOR:
|
||||
|
@ -1142,7 +1142,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
else sp->cstat = 1 + 256;
|
||||
sp->extra = gs.impact_damage << 2;
|
||||
act->SetOwner(act);
|
||||
changeactorstat(act, STAT_STANDABLE);
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
break;
|
||||
|
||||
case CRACK1:
|
||||
|
@ -1164,13 +1164,13 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
if (ud.multimode < 2 && sp->pal != 0)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
|
||||
sp->pal = 0;
|
||||
act->SetOwner(act);
|
||||
changeactorstat(act, STAT_STANDABLE);
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
sp->xvel = 8;
|
||||
ssp(act, CLIPMASK0);
|
||||
break;
|
||||
|
@ -1210,7 +1210,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
if (ud.monsters_off == 1 && sp->picnum == EGG)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1220,12 +1220,12 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act)
|
|||
ps[connecthead].max_actors_killed++;
|
||||
}
|
||||
sp->cstat = 257 | (krand() & 4);
|
||||
changeactorstat(act, STAT_ZOMBIEACTOR);
|
||||
ChangeActorStat(act, STAT_ZOMBIEACTOR);
|
||||
}
|
||||
break;
|
||||
case TOILETWATER:
|
||||
sp->shade = -16;
|
||||
changeactorstat(act, STAT_STANDABLE);
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
break;
|
||||
}
|
||||
return act;
|
||||
|
|
|
@ -62,11 +62,11 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->yrepeat = 0;
|
||||
sp->clipdist = 0;
|
||||
sp->extra = 0;
|
||||
changeactorstat(act, STAT_BOWLING);
|
||||
ChangeActorStat(act, STAT_BOWLING);
|
||||
break;
|
||||
case RRTILE3410:
|
||||
sp->extra = 0;
|
||||
changeactorstat(act, 107);
|
||||
ChangeActorStat(act, 107);
|
||||
break;
|
||||
case RRTILE8450:
|
||||
if (!isRRRA()) goto default_case;
|
||||
|
@ -74,7 +74,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->yrepeat = 64;
|
||||
sp->extra = sp->lotag;
|
||||
sp->cstat |= 257;
|
||||
changeactorstat(act, 116);
|
||||
ChangeActorStat(act, 116);
|
||||
break;
|
||||
case PIG + 11:
|
||||
if (!isRRRA()) goto default_case;
|
||||
|
@ -83,7 +83,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->clipdist = 0;
|
||||
sp->extra = 0;
|
||||
sp->cstat = 0;
|
||||
changeactorstat(act, 121);
|
||||
ChangeActorStat(act, 121);
|
||||
break;
|
||||
case RRTILE8487:
|
||||
case RRTILE8489:
|
||||
|
@ -93,14 +93,14 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->extra = 0;
|
||||
sp->cstat |= 257;
|
||||
sp->hitag = 0;
|
||||
changeactorstat(act, 117);
|
||||
ChangeActorStat(act, 117);
|
||||
break;
|
||||
case RRTILE7424:
|
||||
if (!isRRRA()) goto default_case;
|
||||
sp->extra = 0;
|
||||
sp->xrepeat = 0;
|
||||
sp->yrepeat = 0;
|
||||
changeactorstat(act, 11);
|
||||
ChangeActorStat(act, 11);
|
||||
break;
|
||||
case RRTILE7936:
|
||||
if (!isRRRA()) goto default_case;
|
||||
|
@ -123,7 +123,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
if (!isRRRA()) goto default_case;
|
||||
sp->lotag = 5;
|
||||
sp->clipdist = 0;
|
||||
changeactorstat(act, 123);
|
||||
ChangeActorStat(act, 123);
|
||||
break;
|
||||
case RRTILE8704:
|
||||
if (!isRRRA()) goto default_case;
|
||||
|
@ -148,7 +148,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->clipdist = 0;
|
||||
act->SetOwner(act);
|
||||
sp->extra = 0;
|
||||
changeactorstat(act, 115);
|
||||
ChangeActorStat(act, 115);
|
||||
break;
|
||||
case RRTILE8593:
|
||||
if (!isRRRA()) goto default_case;
|
||||
|
@ -156,7 +156,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->clipdist = 0;
|
||||
act->SetOwner(act);
|
||||
sp->extra = 0;
|
||||
changeactorstat(act, 122);
|
||||
ChangeActorStat(act, 122);
|
||||
break;
|
||||
case RRTILE285:
|
||||
case RRTILE286:
|
||||
|
@ -173,7 +173,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->yrepeat = 0;
|
||||
sp->clipdist = 0;
|
||||
sp->lotag = 0;
|
||||
changeactorstat(act, 106);
|
||||
ChangeActorStat(act, 106);
|
||||
break;
|
||||
|
||||
case RRTILE2460:
|
||||
|
@ -204,7 +204,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
case MUD:
|
||||
if (spj)
|
||||
{
|
||||
setsprite(act, spj->x, spj->y, spj->z);
|
||||
SetActor(act, spj->pos);
|
||||
sp->xrepeat = sp->yrepeat = 8 + (krand() & 7);
|
||||
}
|
||||
else sp->xrepeat = sp->yrepeat = 16 + (krand() & 15);
|
||||
|
@ -282,7 +282,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->yrepeat = 54;
|
||||
}
|
||||
}
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
case TONGUE:
|
||||
if (spj)
|
||||
|
@ -290,7 +290,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->z -= PHEIGHT_RR;
|
||||
sp->zvel = 256 - (krand() & 511);
|
||||
sp->xvel = 64 - (krand() & 127);
|
||||
changeactorstat(act, 4);
|
||||
ChangeActorStat(act, 4);
|
||||
break;
|
||||
case TRANSPORTERSTAR:
|
||||
case TRANSPORTERBEAM:
|
||||
|
@ -309,26 +309,26 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
}
|
||||
else sp->xrepeat = sp->yrepeat = 0;
|
||||
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
|
||||
case FORCESPHERE:
|
||||
if (!spj)
|
||||
{
|
||||
sp->cstat = 32768;
|
||||
changeactorstat(act, 2);
|
||||
ChangeActorStat(act, 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 1;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
}
|
||||
break;
|
||||
|
||||
case BLOOD:
|
||||
sp->xrepeat = sp->yrepeat = 4;
|
||||
sp->z -= (26 << 8);
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
case BLOODPOOL:
|
||||
if (spawnbloodpoolpart1(act)) break;
|
||||
|
@ -360,7 +360,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
if (spj && spj->pal == 6)
|
||||
sp->pal = 6;
|
||||
insertspriteq(act);
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
|
||||
case HYDRENT:
|
||||
|
@ -416,19 +416,19 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
case PIPE6:
|
||||
sp->clipdist = 32;
|
||||
sp->cstat |= 257;
|
||||
changeactorstat(act, 0);
|
||||
ChangeActorStat(act, 0);
|
||||
break;
|
||||
case FEMMAG1:
|
||||
case FEMMAG2:
|
||||
sp->cstat &= ~257;
|
||||
changeactorstat(act, 0);
|
||||
ChangeActorStat(act, 0);
|
||||
break;
|
||||
|
||||
case MASKWALL7:
|
||||
{
|
||||
int j = sp->cstat & 60;
|
||||
sp->cstat = j | 1;
|
||||
changeactorstat(act, 0);
|
||||
ChangeActorStat(act, 0);
|
||||
break;
|
||||
}
|
||||
case FOOTPRINTS:
|
||||
|
@ -456,32 +456,32 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->cstat |= 257;
|
||||
sp->clipdist = 32;
|
||||
}
|
||||
changeactorstat(act, 2);
|
||||
ChangeActorStat(act, 2);
|
||||
break;
|
||||
case BOWLINGBALL:
|
||||
sp->cstat = 256;
|
||||
sp->clipdist = 64;
|
||||
sp->xrepeat = 11;
|
||||
sp->yrepeat = 9;
|
||||
changeactorstat(act, 2);
|
||||
ChangeActorStat(act, 2);
|
||||
break;
|
||||
case HENSTAND:
|
||||
sp->cstat = 257;
|
||||
sp->clipdist = 48;
|
||||
sp->xrepeat = 21;
|
||||
sp->yrepeat = 15;
|
||||
changeactorstat(act, 2);
|
||||
ChangeActorStat(act, 2);
|
||||
break;
|
||||
case RRTILE295:
|
||||
sp->cstat |= 32768;
|
||||
changeactorstat(act, 107);
|
||||
ChangeActorStat(act, 107);
|
||||
break;
|
||||
case RRTILE296:
|
||||
case RRTILE297:
|
||||
sp->xrepeat = 64;
|
||||
sp->yrepeat = 64;
|
||||
sp->clipdist = 64;
|
||||
changeactorstat(act, 108);
|
||||
ChangeActorStat(act, 108);
|
||||
break;
|
||||
case RRTILE3190:
|
||||
case RRTILE3191:
|
||||
|
@ -491,7 +491,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->xrepeat = 32;
|
||||
sp->yrepeat = 26;
|
||||
sp->xvel = 32;
|
||||
changeactorstat(act, 1);
|
||||
ChangeActorStat(act, 1);
|
||||
break;
|
||||
case RRTILE3120:
|
||||
sp->cstat = 257;
|
||||
|
@ -499,7 +499,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->xrepeat = 12;
|
||||
sp->yrepeat = 10;
|
||||
sp->xvel = 32;
|
||||
changeactorstat(act, 1);
|
||||
ChangeActorStat(act, 1);
|
||||
break;
|
||||
case RRTILE3122:
|
||||
sp->cstat = 257;
|
||||
|
@ -507,7 +507,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->xrepeat = 8;
|
||||
sp->yrepeat = 6;
|
||||
sp->xvel = 16;
|
||||
changeactorstat(act, 1);
|
||||
ChangeActorStat(act, 1);
|
||||
break;
|
||||
case RRTILE3123:
|
||||
sp->cstat = 257;
|
||||
|
@ -515,7 +515,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->xrepeat = 13;
|
||||
sp->yrepeat = 13;
|
||||
sp->xvel = 16;
|
||||
changeactorstat(act, 1);
|
||||
ChangeActorStat(act, 1);
|
||||
break;
|
||||
case RRTILE3124:
|
||||
sp->cstat = 257;
|
||||
|
@ -523,7 +523,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->xrepeat = 17;
|
||||
sp->yrepeat = 12;
|
||||
sp->xvel = 32;
|
||||
changeactorstat(act, 1);
|
||||
ChangeActorStat(act, 1);
|
||||
break;
|
||||
case RRTILE3132:
|
||||
sp->cstat = 257;
|
||||
|
@ -531,14 +531,14 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->xrepeat = 13;
|
||||
sp->yrepeat = 10;
|
||||
sp->xvel = 0;
|
||||
changeactorstat(act, 1);
|
||||
ChangeActorStat(act, 1);
|
||||
break;
|
||||
case BOWLINGPIN:
|
||||
sp->cstat = 257;
|
||||
sp->clipdist = 48;
|
||||
sp->xrepeat = 23;
|
||||
sp->yrepeat = 23;
|
||||
changeactorstat(act, 2);
|
||||
ChangeActorStat(act, 2);
|
||||
break;
|
||||
case DUKELYINGDEAD:
|
||||
if (spj && spj->picnum == APLAYER)
|
||||
|
@ -568,7 +568,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
case MIKE:
|
||||
if (sp->picnum == MIKE)
|
||||
sp->yvel = sp->hitag;
|
||||
changeactorstat(act, 1);
|
||||
ChangeActorStat(act, 1);
|
||||
break;
|
||||
|
||||
case SPOTLITE:
|
||||
|
@ -588,7 +588,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->xrepeat = sp->yrepeat = 8;
|
||||
sp->ang = krand() & 2047;
|
||||
}
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
|
||||
case SHELL: //From the player
|
||||
|
@ -602,16 +602,16 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
if (ud.multimode < 2 && sp->pal == 1)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
sp->cstat = 32768;
|
||||
changeactorstat(act, 11);
|
||||
ChangeActorStat(act, 11);
|
||||
break;
|
||||
case SOUNDFX:
|
||||
{
|
||||
sp->cstat |= 32768;
|
||||
changeactorstat(act, 2);
|
||||
ChangeActorStat(act, 2);
|
||||
}
|
||||
break;
|
||||
case EXPLOSION2:
|
||||
|
@ -657,7 +657,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->z = x - (12 << 8);
|
||||
}
|
||||
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
|
||||
break;
|
||||
|
||||
|
@ -670,7 +670,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
if (sp->sector()->lotag != 2)
|
||||
sp->cstat |= 32768;
|
||||
}
|
||||
changeactorstat(act, 13);
|
||||
ChangeActorStat(act, 13);
|
||||
break;
|
||||
|
||||
case APLAYER:
|
||||
|
@ -680,9 +680,9 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
if (j == 2) j = 0;
|
||||
|
||||
if (ud.multimode < 2 || (ud.multimode > 1 && j != sp->lotag))
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
else
|
||||
changeactorstat(act, 10);
|
||||
ChangeActorStat(act, 10);
|
||||
break;
|
||||
}
|
||||
case WATERBUBBLE:
|
||||
|
@ -696,7 +696,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
}
|
||||
else
|
||||
sp->xrepeat = sp->yrepeat = 32;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
case CRANE:
|
||||
initcrane(actj, act, CRANEPOLE);
|
||||
|
@ -710,12 +710,12 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
|
||||
sp->xrepeat = 24;
|
||||
sp->yrepeat = 24;
|
||||
changeactorstat(act, 6);
|
||||
ChangeActorStat(act, 6);
|
||||
break;
|
||||
|
||||
case PLUG:
|
||||
sp->lotag = 9999;
|
||||
changeactorstat(act, 6);
|
||||
ChangeActorStat(act, 6);
|
||||
break;
|
||||
case TOUCHPLATE:
|
||||
t[2] = sectp->floorz;
|
||||
|
@ -724,13 +724,13 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
if (sp->pal && ud.multimode > 1)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
[[fallthrough]];
|
||||
case WATERBUBBLEMAKER:
|
||||
sp->cstat |= 32768;
|
||||
changeactorstat(act, 6);
|
||||
ChangeActorStat(act, 6);
|
||||
break;
|
||||
case BOLT1:
|
||||
case BOLT1 + 1:
|
||||
|
@ -743,7 +743,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
if (sp->picnum == MASTERSWITCH)
|
||||
sp->cstat |= 32768;
|
||||
sp->yvel = 0;
|
||||
changeactorstat(act, 6);
|
||||
ChangeActorStat(act, 6);
|
||||
break;
|
||||
|
||||
// this is not really nice...
|
||||
|
@ -1030,7 +1030,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
if ((sp->lotag > ud.player_skill) || ud.monsters_off == 1)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
else
|
||||
|
@ -1056,10 +1056,10 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
{
|
||||
act->timetosleep = 0;
|
||||
check_fta_sounds_r(act);
|
||||
changeactorstat(act, STAT_ACTOR);
|
||||
ChangeActorStat(act, STAT_ACTOR);
|
||||
sp->shade = spj->shade;
|
||||
}
|
||||
else changeactorstat(act, STAT_ZOMBIEACTOR);
|
||||
else ChangeActorStat(act, STAT_ZOMBIEACTOR);
|
||||
|
||||
}
|
||||
|
||||
|
@ -1067,7 +1067,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
case LOCATORS:
|
||||
// sp->xrepeat=sp->yrepeat=0;
|
||||
sp->cstat |= 32768;
|
||||
changeactorstat(act, STAT_LOCATOR);
|
||||
ChangeActorStat(act, STAT_LOCATOR);
|
||||
break;
|
||||
|
||||
case ACTIVATORLOCKED:
|
||||
|
@ -1076,13 +1076,13 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
sp->cstat |= 32768;
|
||||
if (sp->picnum == ACTIVATORLOCKED)
|
||||
sectp->lotag ^= 16384;
|
||||
changeactorstat(act, STAT_ACTIVATOR);
|
||||
ChangeActorStat(act, STAT_ACTIVATOR);
|
||||
break;
|
||||
case DOORSHOCK:
|
||||
sp->cstat |= 1 + 256;
|
||||
sp->shade = -12;
|
||||
|
||||
changeactorstat(act, STAT_STANDABLE);
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
break;
|
||||
|
||||
case OOZ:
|
||||
|
@ -1093,7 +1093,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
if (spj->picnum == NUKEBARREL)
|
||||
sp->pal = 8;
|
||||
|
||||
changeactorstat(act, STAT_STANDABLE);
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
|
||||
getglobalz(act);
|
||||
|
||||
|
@ -1179,7 +1179,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
if ((ud.multimode < 2 && sp->pal != 0) || (sp->lotag > ud.player_skill))
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1194,7 +1194,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
if (ud.multimode > 1 && ud.coop != 1 && sp->picnum == ACCESSCARD)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
else
|
||||
|
@ -1206,10 +1206,10 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
|
||||
sp->shade = -17;
|
||||
|
||||
if (spj) changeactorstat(act, STAT_ACTOR);
|
||||
if (spj) ChangeActorStat(act, STAT_ACTOR);
|
||||
else
|
||||
{
|
||||
changeactorstat(act, STAT_ZOMBIEACTOR);
|
||||
ChangeActorStat(act, STAT_ZOMBIEACTOR);
|
||||
makeitfall(act);
|
||||
}
|
||||
switch (sp->picnum)
|
||||
|
@ -1332,7 +1332,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
case TIRE:
|
||||
sp->cstat = 257; // Make it hitable
|
||||
sp->extra = 1;
|
||||
changeactorstat(act, 6);
|
||||
ChangeActorStat(act, 6);
|
||||
break;
|
||||
|
||||
case CAMERA1:
|
||||
|
@ -1349,13 +1349,13 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
if (ud.multimode < 2 && sp->pal != 0)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
else sp->pal = 0;
|
||||
if (sp->picnum == CAMERAPOLE) break;
|
||||
sp->picnum = CAMERA1;
|
||||
changeactorstat(act, 1);
|
||||
ChangeActorStat(act, 1);
|
||||
break;
|
||||
case STEAM:
|
||||
if (spj)
|
||||
|
@ -1368,7 +1368,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
}
|
||||
[[fallthrough]];
|
||||
case CEILINGSTEAM:
|
||||
changeactorstat(act, STAT_STANDABLE);
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
break;
|
||||
case SECTOREFFECTOR:
|
||||
spawneffector(act);
|
||||
|
@ -1386,7 +1386,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
else sp->cstat = 1 + 256;
|
||||
sp->extra = gs.impact_damage << 2;
|
||||
act->SetOwner(act);
|
||||
changeactorstat(act, STAT_STANDABLE);
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
break;
|
||||
|
||||
case CRACK1:
|
||||
|
@ -1398,13 +1398,13 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
if (ud.multimode < 2 && sp->pal != 0)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
|
||||
sp->pal = 0;
|
||||
act->SetOwner(act);
|
||||
changeactorstat(act, STAT_STANDABLE);
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
sp->xvel = 8;
|
||||
ssp(act, CLIPMASK0);
|
||||
break;
|
||||
|
@ -1423,7 +1423,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
act->saved_ammo = 100;
|
||||
sp->cstat = 257;
|
||||
sp->lotag = 1;
|
||||
changeactorstat(act, STAT_ACTOR);
|
||||
ChangeActorStat(act, STAT_ACTOR);
|
||||
break;
|
||||
case EMPTYBOAT:
|
||||
if (!isRRRA()) goto default_case;
|
||||
|
@ -1439,7 +1439,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
act->saved_ammo = 20;
|
||||
sp->cstat = 257;
|
||||
sp->lotag = 1;
|
||||
changeactorstat(act, 1);
|
||||
ChangeActorStat(act, 1);
|
||||
break;
|
||||
|
||||
case TOILET:
|
||||
|
@ -1476,26 +1476,26 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act)
|
|||
if (ud.monsters_off == 1 && sp->picnum == EGG)
|
||||
{
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
changeactorstat(act, STAT_MISC);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sp->picnum == EGG)
|
||||
sp->clipdist = 24;
|
||||
sp->cstat = 257 | (krand() & 4);
|
||||
changeactorstat(act, STAT_ZOMBIEACTOR);
|
||||
ChangeActorStat(act, STAT_ZOMBIEACTOR);
|
||||
}
|
||||
break;
|
||||
case TOILETWATER:
|
||||
sp->shade = -16;
|
||||
changeactorstat(act, STAT_STANDABLE);
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
break;
|
||||
case RRTILE63:
|
||||
sp->cstat |= 32768;
|
||||
sp->xrepeat = 1;
|
||||
sp->yrepeat = 1;
|
||||
sp->clipdist = 1;
|
||||
changeactorstat(act, 100);
|
||||
ChangeActorStat(act, 100);
|
||||
break;
|
||||
}
|
||||
return act;
|
||||
|
|
|
@ -72,19 +72,4 @@ inline FSerializer& Serialize(FSerializer& arc, const char* keyname, DExhumedAct
|
|||
return arc;
|
||||
}
|
||||
|
||||
inline void ChangeActorStat(DExhumedActor* actor, int stat)
|
||||
{
|
||||
changespritestat(actor->GetSpriteIndex(), stat);
|
||||
}
|
||||
|
||||
inline void ChangeActorSect(DExhumedActor* actor, sectortype* stat)
|
||||
{
|
||||
changespritesect(actor->GetSpriteIndex(), sector.IndexOf(stat));
|
||||
}
|
||||
|
||||
inline void setActorPos(DExhumedActor* actor, vec3_t* pos)
|
||||
{
|
||||
setsprite(actor->GetSpriteIndex(), pos);
|
||||
}
|
||||
|
||||
END_BLD_NS
|
||||
|
|
|
@ -890,7 +890,7 @@ void AIPlayer::Tick(RunListEvent* ev)
|
|||
pPlayerSprite->y += (y >> 14);
|
||||
|
||||
vec3_t pos = { pPlayerSprite->x, pPlayerSprite->y, pPlayerSprite->z };
|
||||
setActorPos(pPlayerActor, &pos);
|
||||
SetActor(pPlayerActor, &pos);
|
||||
|
||||
pPlayerSprite->z = pPlayerSprite->sector()->floorz;
|
||||
}
|
||||
|
|
|
@ -813,7 +813,7 @@ void ChangeState(DSWActor* actor, STATEp statep)
|
|||
void change_actor_stat(DSWActor* actor, int stat, bool quick)
|
||||
{
|
||||
|
||||
changespritestat(actor->GetSpriteIndex(), stat);
|
||||
ChangeActorStat(actor, stat);
|
||||
|
||||
if (actor->hasU() && !quick)
|
||||
{
|
||||
|
|
|
@ -63,24 +63,5 @@ inline FSerializer& Serialize(FSerializer& arc, const char* keyname, DSWActor*&
|
|||
return arc;
|
||||
}
|
||||
|
||||
inline void ChangeActorSect(DSWActor* actor, int sect)
|
||||
{
|
||||
changespritesect(actor->GetSpriteIndex(), sect);
|
||||
}
|
||||
|
||||
inline void ChangeActorSect(DSWActor* actor, sectortype* sect)
|
||||
{
|
||||
changespritesect(actor->GetSpriteIndex(), sectnum(sect));
|
||||
}
|
||||
|
||||
inline int SetActorZ(DSWActor* actor, const vec3_t* newpos)
|
||||
{
|
||||
return setspritez(actor->GetSpriteIndex(), newpos);
|
||||
}
|
||||
|
||||
inline int SetActor(DSWActor* actor, const vec3_t* newpos)
|
||||
{
|
||||
return setsprite(actor->GetSpriteIndex(), newpos);
|
||||
}
|
||||
|
||||
END_SW_NS
|
||||
|
|
Loading…
Reference in a new issue