From b7a5ea8ef636aae7e7099c562d9c3724a42649cf Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Fri, 26 Nov 2021 21:52:01 +0100 Subject: [PATCH] - moved some common utilities into the backend. --- source/core/coreactor.h | 28 +++++ source/games/blood/src/actor.cpp | 6 +- source/games/blood/src/aiunicult.cpp | 2 +- source/games/blood/src/bloodactor.h | 22 ---- source/games/blood/src/mirrors.cpp | 2 +- source/games/blood/src/nnexts.cpp | 2 +- source/games/blood/src/warp.cpp | 8 +- source/games/duke/src/_polymost.cpp | 16 +-- source/games/duke/src/actors.cpp | 76 ++++++------- source/games/duke/src/actors_d.cpp | 58 +++++----- source/games/duke/src/actors_lava.cpp | 2 +- source/games/duke/src/actors_r.cpp | 46 ++++---- source/games/duke/src/ccmds.cpp | 2 +- source/games/duke/src/dukeactor.h | 32 ------ source/games/duke/src/gameexec.cpp | 14 +-- source/games/duke/src/player.cpp | 2 +- source/games/duke/src/player_d.cpp | 6 +- source/games/duke/src/player_r.cpp | 8 +- source/games/duke/src/sectors_d.cpp | 4 +- source/games/duke/src/sectors_r.cpp | 8 +- source/games/duke/src/spawn.cpp | 52 ++++----- source/games/duke/src/spawn_d.cpp | 130 ++++++++++----------- source/games/duke/src/spawn_r.cpp | 144 ++++++++++++------------ source/games/exhumed/src/exhumedactor.h | 15 --- source/games/exhumed/src/player.cpp | 2 +- source/games/sw/src/sprite.cpp | 2 +- source/games/sw/src/swactor.h | 19 ---- 27 files changed, 320 insertions(+), 388 deletions(-) diff --git a/source/core/coreactor.h b/source/core/coreactor.h index fa5431296..abee787a7 100644 --- a/source/core/coreactor.h +++ b/source/core/coreactor.h @@ -288,6 +288,34 @@ public: } }; +using CoreSectIterator = TSectIterator; + + +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) diff --git a/source/games/blood/src/actor.cpp b/source/games/blood/src/actor.cpp index 3f98add75..dc64b7d74 100644 --- a/source/games/blood/src/actor.cpp +++ b/source/games/blood/src/actor.cpp @@ -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; diff --git a/source/games/blood/src/aiunicult.cpp b/source/games/blood/src/aiunicult.cpp index 4b9858f07..f76b5584e 100644 --- a/source/games/blood/src/aiunicult.cpp +++ b/source/games/blood/src/aiunicult.cpp @@ -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. diff --git a/source/games/blood/src/bloodactor.h b/source/games/blood/src/bloodactor.h index 2ff2e53f4..168b24b9c 100644 --- a/source/games/blood/src/bloodactor.h +++ b/source/games/blood/src/bloodactor.h @@ -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 diff --git a/source/games/blood/src/mirrors.cpp b/source/games/blood/src/mirrors.cpp index ea8a9e01e..c00e84c2d 100644 --- a/source/games/blood/src/mirrors.cpp +++ b/source/games/blood/src/mirrors.cpp @@ -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(); diff --git a/source/games/blood/src/nnexts.cpp b/source/games/blood/src/nnexts.cpp index 45e818dd6..7fc18d955 100644 --- a/source/games/blood/src/nnexts.cpp +++ b/source/games/blood/src/nnexts.cpp @@ -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; diff --git a/source/games/blood/src/warp.cpp b/source/games/blood/src/warp.cpp index 49442aeda..4f3f7bcb2 100644 --- a/source/games/blood/src/warp.cpp +++ b/source/games/blood/src/warp.cpp @@ -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(); diff --git a/source/games/duke/src/_polymost.cpp b/source/games/duke/src/_polymost.cpp index 520ff9ddc..89acf3cf9 100644 --- a/source/games/duke/src/_polymost.cpp +++ b/source/games/duke/src/_polymost.cpp @@ -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); diff --git a/source/games/duke/src/actors.cpp b/source/games/duke/src/actors.cpp index 6cba92973..210096b0c 100644 --- a/source/games/duke/src/actors.cpp +++ b/source/games/duke/src/actors.cpp @@ -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); } diff --git a/source/games/duke/src/actors_d.cpp b/source/games/duke/src/actors_d.cpp index ca90781dc..a960bf072 100644 --- a/source/games/duke/src/actors_d.cpp +++ b/source/games/duke/src/actors_d.cpp @@ -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; } } diff --git a/source/games/duke/src/actors_lava.cpp b/source/games/duke/src/actors_lava.cpp index 9ea4fa5c7..52c4f6dca 100644 --- a/source/games/duke/src/actors_lava.cpp +++ b/source/games/duke/src/actors_lava.cpp @@ -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 }); } } } diff --git a/source/games/duke/src/actors_r.cpp b/source/games/duke/src/actors_r.cpp index 25394343f..2474db293 100644 --- a/source/games/duke/src/actors_r.cpp +++ b/source/games/duke/src/actors_r.cpp @@ -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; } } diff --git a/source/games/duke/src/ccmds.cpp b/source/games/duke/src/ccmds.cpp index 202788829..c2a1f96f2 100644 --- a/source/games/duke/src/ccmds.cpp +++ b/source/games/duke/src/ccmds.cpp @@ -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); diff --git a/source/games/duke/src/dukeactor.h b/source/games/duke/src/dukeactor.h index b66f38639..24e70bf43 100644 --- a/source/games/duke/src/dukeactor.h +++ b/source/games/duke/src/dukeactor.h @@ -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; diff --git a/source/games/duke/src/gameexec.cpp b/source/games/duke/src/gameexec.cpp index d3d27eeac..2f147b2a2 100644 --- a/source/games/duke/src/gameexec.cpp +++ b/source/games/duke/src/gameexec.cpp @@ -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) diff --git a/source/games/duke/src/player.cpp b/source/games/duke/src/player.cpp index 0c0b4e91c..b90b267d8 100644 --- a/source/games/duke/src/player.cpp +++ b/source/games/duke/src/player.cpp @@ -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; } diff --git a/source/games/duke/src/player_d.cpp b/source/games/duke/src/player_d.cpp index 98f19690c..f8ea4eb7b 100644 --- a/source/games/duke/src/player_d.cpp +++ b/source/games/duke/src/player_d.cpp @@ -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); diff --git a/source/games/duke/src/player_r.cpp b/source/games/duke/src/player_r.cpp index c5c81091c..e1e7f0781 100644 --- a/source/games/duke/src/player_r.cpp +++ b/source/games/duke/src/player_r.cpp @@ -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) diff --git a/source/games/duke/src/sectors_d.cpp b/source/games/duke/src/sectors_d.cpp index 508d698c5..f56f87e6b 100644 --- a/source/games/duke/src/sectors_d.cpp +++ b/source/games/duke/src/sectors_d.cpp @@ -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; diff --git a/source/games/duke/src/sectors_r.cpp b/source/games/duke/src/sectors_r.cpp index 6a469501c..10e669991 100644 --- a/source/games/duke/src/sectors_r.cpp +++ b/source/games/duke/src/sectors_r.cpp @@ -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; } } diff --git a/source/games/duke/src/spawn.cpp b/source/games/duke/src/spawn.cpp index 16ce6ce66..b7b3875a0 100644 --- a/source/games/duke/src/spawn.cpp +++ b/source/games/duke/src/spawn.cpp @@ -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); } diff --git a/source/games/duke/src/spawn_d.cpp b/source/games/duke/src/spawn_d.cpp index 0e4692753..47a09d70a 100644 --- a/source/games/duke/src/spawn_d.cpp +++ b/source/games/duke/src/spawn_d.cpp @@ -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; diff --git a/source/games/duke/src/spawn_r.cpp b/source/games/duke/src/spawn_r.cpp index c76230719..877c59165 100644 --- a/source/games/duke/src/spawn_r.cpp +++ b/source/games/duke/src/spawn_r.cpp @@ -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; diff --git a/source/games/exhumed/src/exhumedactor.h b/source/games/exhumed/src/exhumedactor.h index b5a636467..24016904c 100644 --- a/source/games/exhumed/src/exhumedactor.h +++ b/source/games/exhumed/src/exhumedactor.h @@ -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 diff --git a/source/games/exhumed/src/player.cpp b/source/games/exhumed/src/player.cpp index 6fa0b83f6..61b13fcdd 100644 --- a/source/games/exhumed/src/player.cpp +++ b/source/games/exhumed/src/player.cpp @@ -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; } diff --git a/source/games/sw/src/sprite.cpp b/source/games/sw/src/sprite.cpp index 1002cba27..6522c4d88 100644 --- a/source/games/sw/src/sprite.cpp +++ b/source/games/sw/src/sprite.cpp @@ -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) { diff --git a/source/games/sw/src/swactor.h b/source/games/sw/src/swactor.h index 8fbb65292..94b650277 100644 --- a/source/games/sw/src/swactor.h +++ b/source/games/sw/src/swactor.h @@ -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