rebuild sidescrollers on save load (#733)

* rebuild `sidescrollers` on save load

* add only `sc_side` type of scrollers
This commit is contained in:
Roman Fomin 2022-09-14 18:00:08 +07:00 committed by GitHub
parent 347e430c71
commit f260e255be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 2 deletions

View File

@ -2574,6 +2574,8 @@ void P_UnArchiveSpecials (void)
{
byte tclass;
P_FreeSideScrollers();
// read in saved thinkers
while ((tclass = saveg_read8()) != tc_endspecials) // killough 2/14/98
switch (tclass)
@ -2693,6 +2695,8 @@ void P_UnArchiveSpecials (void)
saveg_read_scroll_t(scroll);
scroll->thinker.function.p1 = (actionf_p1)T_Scroll;
P_AddThinker(&scroll->thinker);
if (scroll->type == sc_side)
P_AddSideScroller(scroll);
break;
}

View File

@ -2646,7 +2646,7 @@ void T_Scroll(scroll_t *s)
static int maxsidescrollers, numsidescrollers;
static scroll_t **sidescrollers;
static void P_AddSideScroller (scroll_t *s)
void P_AddSideScroller (scroll_t *s)
{
if (numsidescrollers == maxsidescrollers)
{
@ -2656,7 +2656,7 @@ static void P_AddSideScroller (scroll_t *s)
sidescrollers[numsidescrollers++] = s;
}
static void P_FreeSideScrollers (void)
void P_FreeSideScrollers (void)
{
maxsidescrollers = 0;
numsidescrollers = 0;

View File

@ -864,6 +864,10 @@ void T_Friction(friction_t *); // phares 3/12/98: friction thinker
void T_Pusher(pusher_t *); // phares 3/20/98: Push thinker
void P_FreeSideScrollers(void);
void P_AddSideScroller(scroll_t *s);
////////////////////////////////////////////////////////////////
//
// Linedef and sector special handler prototypes