Merge branch 'invalid-settargets' into 'master'

P_InitThinkers: Centralise/tidy global mobj pointer handling

See merge request KartKrew/Kart!1263
This commit is contained in:
toaster 2023-06-01 12:37:29 +00:00
commit f86cf71aca
7 changed files with 17 additions and 19 deletions

View file

@ -435,6 +435,8 @@ struct altview_t
INT32 tics; INT32 tics;
}; };
extern altview_t titlemapcam;
// ======================================================================== // ========================================================================
// PLAYER STRUCTURE // PLAYER STRUCTURE
// ======================================================================== // ========================================================================

View file

@ -1848,7 +1848,6 @@ void F_StartTitleScreen(void)
gamestate_t prevwipegamestate = wipegamestate; gamestate_t prevwipegamestate = wipegamestate;
titlemapinaction = true; titlemapinaction = true;
P_SetTarget(&titlemapcam.mobj, NULL);
gamemap = titleMapNum+1; gamemap = titleMapNum+1;
maptol = mapheaderinfo[titleMapNum]->typeoflevel; maptol = mapheaderinfo[titleMapNum]->typeoflevel;

View file

@ -105,9 +105,6 @@ extern UINT16 tttics;
extern boolean ttavailable[6]; extern boolean ttavailable[6];
// Current menu parameters // Current menu parameters
extern altview_t titlemapcam;
extern char curbgname[9]; extern char curbgname[9];
extern SINT8 curfadevalue; extern SINT8 curfadevalue;
extern INT32 curbgcolor; extern INT32 curbgcolor;

View file

@ -247,8 +247,6 @@ boolean K_StartCeremony(void)
&& mapheaderinfo[podiumMapNum] && mapheaderinfo[podiumMapNum]
&& mapheaderinfo[podiumMapNum]->lumpnum != LUMPERROR) && mapheaderinfo[podiumMapNum]->lumpnum != LUMPERROR)
{ {
P_SetTarget(&titlemapcam.mobj, NULL);
gamemap = podiumMapNum+1; gamemap = podiumMapNum+1;
maptol = mapheaderinfo[gamemap-1]->typeoflevel; maptol = mapheaderinfo[gamemap-1]->typeoflevel;

View file

@ -4528,16 +4528,8 @@ static void P_NetUnArchiveThinkers(savebuffer_t *save)
} }
// we don't want the removed mobjs to come back // we don't want the removed mobjs to come back
iquetail = iquehead = 0;
P_InitThinkers(); P_InitThinkers();
// Oh my god don't blast random memory with our reference counts.
waypointcap = trackercap = NULL;
for (i = 0; i <= 15; i++)
{
skyboxcenterpnts[i] = skyboxviewpnts[i] = NULL;
}
// clear sector thinker pointers so they don't point to non-existant thinkers for all of eternity // clear sector thinker pointers so they don't point to non-existant thinkers for all of eternity
for (i = 0; i < numsectors; i++) for (i = 0; i < numsectors; i++)
{ {

View file

@ -8291,9 +8291,6 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate)
K_InitDirector(); K_InitDirector();
} }
// clear special respawning que
iquehead = iquetail = 0;
// Initialize ACS scripts // Initialize ACS scripts
if (!fromnetsave) if (!fromnetsave)
{ {

View file

@ -213,10 +213,23 @@ void Command_CountMobjs_f(void)
void P_InitThinkers(void) void P_InitThinkers(void)
{ {
UINT8 i; UINT8 i;
for (i = 0; i < NUM_THINKERLISTS; i++)
{
thlist[i].prev = thlist[i].next = &thlist[i];
}
iquehead = iquetail = 0;
waypointcap = NULL; waypointcap = NULL;
trackercap = NULL; trackercap = NULL;
for (i = 0; i < NUM_THINKERLISTS; i++)
thlist[i].prev = thlist[i].next = &thlist[i]; titlemapcam.mobj = NULL;
for (i = 0; i <= 15; i++)
{
skyboxcenterpnts[i] = skyboxviewpnts[i] = NULL;
}
} }
// Adds a new thinker at the end of the list. // Adds a new thinker at the end of the list.