- renamed a few RR sprites plus one associated global variable.

This commit is contained in:
Christoph Oelckers 2022-12-02 21:28:43 +01:00
parent e5ac32e329
commit d83e203b8d
12 changed files with 23 additions and 22 deletions

View file

@ -85,8 +85,6 @@ int rtsplaying; // RTS playback state
TArray<DVector2> mspos;
TArray<animate> animates;
bool sound445done; // used in checksectors_r. This was local state inside a function, but this must be maintained globally and serialized
int spriteqamount = 64; // internal sprite queue
int spriteqloc;
animwalltype animwall[MAXANIMWALLS]; // animated walls

View file

@ -65,7 +65,6 @@ extern int screenpeek;
// Variables that must be saved
extern int rtsplaying;
extern bool sound445done;
extern player_struct ps[MAXPLAYERS];
extern int spriteqamount;
extern int lastvisinc;

View file

@ -681,8 +681,8 @@ y(RRTILE2075, 2075)
y(RRTILE2083, 2083)
x(VIXENSHOT, 2095)
y(RRTILE2097, 2097)
y(RRTILE2121, 2121)
y(RRTILE2122, 2122)
y(TOILETSEAT, 2121)
y(TOILET2, 2122)
y(RRTILE2123, 2123)
y(RRTILE2124, 2124)
y(RRTILE2125, 2125)
@ -1341,7 +1341,7 @@ y(RRTILE8397, 8397)
y(RRTILE8398, 8398)
y(RRTILE8399, 8399)
y(RRTILE8423, 8423)
y(RRTILE8448, 8448)
y(MUSICNOTES, 8448)
y(AIRPLANE, 8450)
x(BOATAMMO, 8460)
y(RRTILE8461, 8461)
@ -1397,7 +1397,7 @@ y(SNAKERIVERSIGNB, 8680)
y(RRTILE8681, 8681)
y(RRTILE8682, 8682)
y(RRTILE8683, 8683)
y(RRTILE8704, 8704)
y(JOE9000, 8704)
x(BOULDER, 256)
x(BOULDER1, 264)

View file

@ -3357,7 +3357,7 @@ void processinput_r(int snum)
else
p->stairs--;
}
else if (clz.actor()->spr.picnum == TOILET || clz.actor()->spr.picnum == RRTILE2121)
else if (clz.actor()->spr.picnum == TOILET || clz.actor()->spr.picnum == TOILETSEAT)
{
if ((actions & SB_CROUCH) && !p->OnMotorcycle)
//if (Sound[436].num == 0)

View file

@ -427,6 +427,7 @@ void resetprestat(int snum,int g)
animates.Clear();
camsprite =nullptr;
ud.earthquaketime = 0;
ud.joe9000 = false;
WindTime = 0;
WindDir = nullAngle;

View file

@ -63,8 +63,8 @@ static void cachespritenum(DDukeActor* actor)
for (j = TOILETWATER; j < (TOILETWATER + 4); j++)
tloadtile(j, pal);
break;
case RRTILE2121:
case RRTILE2122:
case TOILETSEAT:
case TOILET2:
tloadtile(actor->spr.picnum, pal);
break;
case TOILET:

View file

@ -366,7 +366,7 @@ void GameInterface::SerializeGameState(FSerializer& arc)
("rtsplaying", rtsplaying)
//("tempwallptr", tempwallptr)
("sound445done", sound445done)
("joe9000", ud.joe9000)
.Array("players", ps, ud.multimode)
("spriteqamount", spriteqamount)
("lastvisinc", lastvisinc)

View file

@ -1615,20 +1615,20 @@ void checksectors_r(int snum)
else
switch (neartagsprite->spr.picnum)
{
case RRTILE8448:
case MUSICNOTES:
if (!isRRRA()) return;
if (!S_CheckActorSoundPlaying(neartagsprite, 340))
S_PlayActorSound(340, neartagsprite);
return;
case RRTILE8704:
case JOE9000:
if (!isRRRA()) return;
if (numplayers == 1)
{
// This is from RedneckGDX - the version in RR Reconstruction looked like broken nonsense.
if (S_CheckActorSoundPlaying(neartagsprite, 445) || sound445done != 0)
if (S_CheckActorSoundPlaying(neartagsprite, 445) || ud.joe9000 != 0)
{
if (!S_CheckActorSoundPlaying(neartagsprite, 445) && !S_CheckActorSoundPlaying(neartagsprite, 446) &&
!S_CheckActorSoundPlaying(neartagsprite, 447) && sound445done != 0)
!S_CheckActorSoundPlaying(neartagsprite, 447) && ud.joe9000 != 0)
{
if ((krand() % 2) == 1)
S_PlayActorSound(446, neartagsprite);
@ -1639,7 +1639,7 @@ void checksectors_r(int snum)
else
{
S_PlayActorSound(445, neartagsprite);
sound445done = 1;
ud.joe9000 = 1;
}
}
return;
@ -1654,8 +1654,8 @@ void checksectors_r(int snum)
case TOILET:
case STALL:
case RRTILE2121:
case RRTILE2122:
case TOILETSEAT:
case TOILET2:
if (p->last_pissed_time == 0)
{
S_PlayActorSound(435, pact);

View file

@ -66,12 +66,12 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
act->spr.scale = DVector2(0, 0);
ps[screenpeek].sea_sick_stat = 1;
break;
case RRTILE8448:
case MUSICNOTES:
if (!isRRRA()) goto default_case;
act->spr.lotag = 1;
act->clipdist = 0;
break;
case RRTILE8704:
case JOE9000:
if (!isRRRA()) goto default_case;
act->spr.lotag = 1;
act->clipdist = 0;
@ -750,8 +750,8 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
case TOILET:
case STALL:
case RRTILE2121:
case RRTILE2122:
case TOILETSEAT:
case TOILET2:
act->spr.lotag = 1;
act->spr.cstat |= CSTAT_SPRITE_BLOCK_ALL;
act->clipdist = 2;

View file

@ -165,6 +165,7 @@ struct user_defs
int player_skill, marker;
int chickenplant; // readonly - used to trigger some special behavior if a special item is found in a map.
int earthquaketime;
bool joe9000; // this was formerly a static local variable inside a function, but needs to be properly maintained and serialized.
TObjPtr<DDukeActor*> cameraactor;

View file

@ -1446,6 +1446,7 @@ DEFINE_FIELD_X(DukeUserDefs, user_defs, cameraactor);
DEFINE_FIELD_X(DukeUserDefs, user_defs, chickenplant);
DEFINE_FIELD_X(DukeUserDefs, user_defs, earthquaketime);
DEFINE_FIELD_X(DukeUserDefs, user_defs, ufospawnsminion);
DEFINE_FIELD_X(DukeUserDefs, user_defs, joe9000);
DEFINE_GLOBAL_UNSIZED(ud)

View file

@ -462,4 +462,5 @@ struct DukeUserDefs native
native uint8 ufospawnsminion;
native int16 bomb_tag;
native DukeActor cameraactor;
native bool joe9000;
}