mirror of
https://github.com/ZDoom/Raze.git
synced 2024-11-15 17:01:28 +00:00
- save the cookie texts in a savegame and clear them on level exit. Also handle them on a per-player basis.
Fixes #196
This commit is contained in:
parent
9159855957
commit
65cb267d56
4 changed files with 15 additions and 19 deletions
|
@ -625,6 +625,8 @@ void TerminateLevel(void)
|
|||
// Free panel sprites for players
|
||||
pClearSpriteList(pp);
|
||||
|
||||
pp->cookieTime = 0;
|
||||
memset(pp->cookieQuote, 0, sizeof(pp->cookieQuote));
|
||||
pp->DoPlayerAction = NULL;
|
||||
|
||||
pp->SpriteP = NULL;
|
||||
|
|
|
@ -810,8 +810,6 @@ SWBOOL DLL_ExecFunc(int procHandle, char *fName);
|
|||
//
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void adduserquote(const char *daquote);
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Weapon
|
||||
|
@ -1168,6 +1166,10 @@ struct PLAYERstruct
|
|||
short Reverb; // Player's current reverb setting
|
||||
short Heads; // Number of Accursed Heads orbiting player
|
||||
int PlayerVersion;
|
||||
|
||||
char cookieQuote[256]; // Should be an FString but must be POD for now to be storable in a savegame.
|
||||
int cookieTime;
|
||||
|
||||
};
|
||||
|
||||
extern PLAYER Player[MAX_SW_PLAYERS_REG+1];
|
||||
|
|
|
@ -8060,6 +8060,12 @@ void CheckFootPrints(PLAYERp pp)
|
|||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
|
||||
#include "saveable.h"
|
||||
|
||||
|
|
|
@ -992,21 +992,6 @@ static void UpdateFrame(void)
|
|||
//
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
static FString cookieQuote;
|
||||
static int cookieTime;
|
||||
|
||||
void adduserquote(const char* daquote)
|
||||
{
|
||||
cookieQuote = daquote;
|
||||
cookieTime = totalclock + 540;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void UpdateStatusBar(ClockTicks arg)
|
||||
{
|
||||
DSWStatusBar sbar;
|
||||
|
@ -1017,10 +1002,11 @@ void UpdateStatusBar(ClockTicks arg)
|
|||
}
|
||||
|
||||
sbar.UpdateStatusBar(arg);
|
||||
if (totalclock < cookieTime)
|
||||
PLAYERp pp = &Player[screenpeek];
|
||||
if (totalclock < pp->cookieTime)
|
||||
{
|
||||
const int MESSAGE_LINE = 142; // Used to be 164
|
||||
MNU_DrawSmallString(160, MESSAGE_LINE, cookieQuote, 0, 0, 0, clamp((cookieTime - totalclock) / 60., 0., 1.));
|
||||
MNU_DrawSmallString(160, MESSAGE_LINE, pp->cookieQuote, 0, 0, 0, clamp((pp->cookieTime - totalclock) / 60., 0., 1.));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue