Created g_demo.c/.h, for the demo recording and playback code that formerly lived in g_game.c
This commit is contained in:
parent
04131d3268
commit
dcb4ce8cb9
2501
src/g_demo.c
Normal file
2501
src/g_demo.c
Normal file
File diff suppressed because it is too large
Load diff
85
src/g_demo.h
Normal file
85
src/g_demo.h
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
// SONIC ROBO BLAST 2
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Copyright (C) 1993-1996 by id Software, Inc.
|
||||||
|
// Copyright (C) 1998-2000 by DooM Legacy Team.
|
||||||
|
// Copyright (C) 1999-2020 by Sonic Team Junior.
|
||||||
|
//
|
||||||
|
// This program is free software distributed under the
|
||||||
|
// terms of the GNU General Public License, version 2.
|
||||||
|
// See the 'LICENSE' file for more details.
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
/// \file g_demo.h
|
||||||
|
/// \brief Demo recording and playback
|
||||||
|
|
||||||
|
#ifndef __G_DEMO__
|
||||||
|
#define __G_DEMO__
|
||||||
|
|
||||||
|
#include "doomdef.h"
|
||||||
|
#include "doomstat.h"
|
||||||
|
#include "d_event.h"
|
||||||
|
|
||||||
|
// ======================================
|
||||||
|
// DEMO playback/recording related stuff.
|
||||||
|
// ======================================
|
||||||
|
|
||||||
|
// demoplaying back and demo recording
|
||||||
|
extern boolean demoplayback, titledemo, demorecording, timingdemo;
|
||||||
|
extern tic_t demostarttime;
|
||||||
|
|
||||||
|
// Quit after playing a demo from cmdline.
|
||||||
|
extern boolean singledemo;
|
||||||
|
extern boolean demo_start;
|
||||||
|
extern boolean demosynced;
|
||||||
|
|
||||||
|
extern mobj_t *metalplayback;
|
||||||
|
|
||||||
|
// Only called by startup code.
|
||||||
|
void G_RecordDemo(const char *name);
|
||||||
|
void G_RecordMetal(void);
|
||||||
|
void G_BeginRecording(void);
|
||||||
|
void G_BeginMetal(void);
|
||||||
|
|
||||||
|
// Only called by shutdown code.
|
||||||
|
void G_SetDemoTime(UINT32 ptime, UINT32 pscore, UINT16 prings);
|
||||||
|
UINT8 G_CmpDemoTime(char *oldname, char *newname);
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
GHC_NORMAL = 0,
|
||||||
|
GHC_SUPER,
|
||||||
|
GHC_FIREFLOWER,
|
||||||
|
GHC_INVINCIBLE,
|
||||||
|
GHC_NIGHTSSKIN, // not actually a colour
|
||||||
|
GHC_RETURNSKIN // ditto
|
||||||
|
} ghostcolor_t;
|
||||||
|
|
||||||
|
// Record/playback tics
|
||||||
|
void G_ReadDemoTiccmd(ticcmd_t *cmd, INT32 playernum);
|
||||||
|
void G_WriteDemoTiccmd(ticcmd_t *cmd, INT32 playernum);
|
||||||
|
void G_GhostAddThok(void);
|
||||||
|
void G_GhostAddSpin(void);
|
||||||
|
void G_GhostAddRev(void);
|
||||||
|
void G_GhostAddColor(ghostcolor_t color);
|
||||||
|
void G_GhostAddFlip(void);
|
||||||
|
void G_GhostAddScale(fixed_t scale);
|
||||||
|
void G_GhostAddHit(mobj_t *victim);
|
||||||
|
void G_WriteGhostTic(mobj_t *ghost);
|
||||||
|
void G_ConsGhostTic(void);
|
||||||
|
void G_GhostTicker(void);
|
||||||
|
void G_ReadMetalTic(mobj_t *metal);
|
||||||
|
void G_WriteMetalTic(mobj_t *metal);
|
||||||
|
void G_SaveMetal(UINT8 **buffer);
|
||||||
|
void G_LoadMetal(UINT8 **buffer);
|
||||||
|
|
||||||
|
void G_DeferedPlayDemo(const char *demo);
|
||||||
|
void G_DoPlayDemo(char *defdemoname);
|
||||||
|
void G_TimeDemo(const char *name);
|
||||||
|
void G_AddGhost(char *defdemoname);
|
||||||
|
void G_DoPlayMetal(void);
|
||||||
|
void G_DoneLevelLoad(void);
|
||||||
|
void G_StopMetalDemo(void);
|
||||||
|
ATTRNORETURN void FUNCNORETURN G_StopMetalRecording(boolean kill);
|
||||||
|
void G_StopDemo(void);
|
||||||
|
boolean G_CheckDemoStatus(void);
|
||||||
|
|
||||||
|
#endif // __G_DEMO__
|
2500
src/g_game.c
2500
src/g_game.c
File diff suppressed because it is too large
Load diff
65
src/g_game.h
65
src/g_game.h
|
@ -17,6 +17,7 @@
|
||||||
#include "doomdef.h"
|
#include "doomdef.h"
|
||||||
#include "doomstat.h"
|
#include "doomstat.h"
|
||||||
#include "d_event.h"
|
#include "d_event.h"
|
||||||
|
#include "g_demo.h"
|
||||||
|
|
||||||
extern char gamedatafilename[64];
|
extern char gamedatafilename[64];
|
||||||
extern char timeattackfolder[64];
|
extern char timeattackfolder[64];
|
||||||
|
@ -31,21 +32,6 @@ extern char player_names[MAXPLAYERS][MAXPLAYERNAME+1];
|
||||||
extern player_t players[MAXPLAYERS];
|
extern player_t players[MAXPLAYERS];
|
||||||
extern boolean playeringame[MAXPLAYERS];
|
extern boolean playeringame[MAXPLAYERS];
|
||||||
|
|
||||||
// ======================================
|
|
||||||
// DEMO playback/recording related stuff.
|
|
||||||
// ======================================
|
|
||||||
|
|
||||||
// demoplaying back and demo recording
|
|
||||||
extern boolean demoplayback, titledemo, demorecording, timingdemo;
|
|
||||||
extern tic_t demostarttime;
|
|
||||||
|
|
||||||
// Quit after playing a demo from cmdline.
|
|
||||||
extern boolean singledemo;
|
|
||||||
extern boolean demo_start;
|
|
||||||
extern boolean demosynced;
|
|
||||||
|
|
||||||
extern mobj_t *metalplayback;
|
|
||||||
|
|
||||||
// gametic at level start
|
// gametic at level start
|
||||||
extern tic_t levelstarttic;
|
extern tic_t levelstarttic;
|
||||||
|
|
||||||
|
@ -173,7 +159,6 @@ void G_DoLoadLevel(boolean resetplayer);
|
||||||
void G_StartTitleCard(void);
|
void G_StartTitleCard(void);
|
||||||
void G_PreLevelTitleCard(void);
|
void G_PreLevelTitleCard(void);
|
||||||
boolean G_IsTitleCardAvailable(void);
|
boolean G_IsTitleCardAvailable(void);
|
||||||
void G_DeferedPlayDemo(const char *demo);
|
|
||||||
|
|
||||||
// Can be called by the startup code or M_Responder, calls P_SetupLevel.
|
// Can be called by the startup code or M_Responder, calls P_SetupLevel.
|
||||||
void G_LoadGame(UINT32 slot, INT16 mapoverride);
|
void G_LoadGame(UINT32 slot, INT16 mapoverride);
|
||||||
|
@ -184,54 +169,6 @@ void G_SaveGame(UINT32 slot);
|
||||||
|
|
||||||
void G_SaveGameOver(UINT32 slot, boolean modifylives);
|
void G_SaveGameOver(UINT32 slot, boolean modifylives);
|
||||||
|
|
||||||
// Only called by startup code.
|
|
||||||
void G_RecordDemo(const char *name);
|
|
||||||
void G_RecordMetal(void);
|
|
||||||
void G_BeginRecording(void);
|
|
||||||
void G_BeginMetal(void);
|
|
||||||
|
|
||||||
// Only called by shutdown code.
|
|
||||||
void G_SetDemoTime(UINT32 ptime, UINT32 pscore, UINT16 prings);
|
|
||||||
UINT8 G_CmpDemoTime(char *oldname, char *newname);
|
|
||||||
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
GHC_NORMAL = 0,
|
|
||||||
GHC_SUPER,
|
|
||||||
GHC_FIREFLOWER,
|
|
||||||
GHC_INVINCIBLE,
|
|
||||||
GHC_NIGHTSSKIN, // not actually a colour
|
|
||||||
GHC_RETURNSKIN // ditto
|
|
||||||
} ghostcolor_t;
|
|
||||||
|
|
||||||
// Record/playback tics
|
|
||||||
void G_ReadDemoTiccmd(ticcmd_t *cmd, INT32 playernum);
|
|
||||||
void G_WriteDemoTiccmd(ticcmd_t *cmd, INT32 playernum);
|
|
||||||
void G_GhostAddThok(void);
|
|
||||||
void G_GhostAddSpin(void);
|
|
||||||
void G_GhostAddRev(void);
|
|
||||||
void G_GhostAddColor(ghostcolor_t color);
|
|
||||||
void G_GhostAddFlip(void);
|
|
||||||
void G_GhostAddScale(fixed_t scale);
|
|
||||||
void G_GhostAddHit(mobj_t *victim);
|
|
||||||
void G_WriteGhostTic(mobj_t *ghost);
|
|
||||||
void G_ConsGhostTic(void);
|
|
||||||
void G_GhostTicker(void);
|
|
||||||
void G_ReadMetalTic(mobj_t *metal);
|
|
||||||
void G_WriteMetalTic(mobj_t *metal);
|
|
||||||
void G_SaveMetal(UINT8 **buffer);
|
|
||||||
void G_LoadMetal(UINT8 **buffer);
|
|
||||||
|
|
||||||
void G_DoPlayDemo(char *defdemoname);
|
|
||||||
void G_TimeDemo(const char *name);
|
|
||||||
void G_AddGhost(char *defdemoname);
|
|
||||||
void G_DoPlayMetal(void);
|
|
||||||
void G_DoneLevelLoad(void);
|
|
||||||
void G_StopMetalDemo(void);
|
|
||||||
ATTRNORETURN void FUNCNORETURN G_StopMetalRecording(boolean kill);
|
|
||||||
void G_StopDemo(void);
|
|
||||||
boolean G_CheckDemoStatus(void);
|
|
||||||
|
|
||||||
extern UINT32 gametypedefaultrules[NUMGAMETYPES];
|
extern UINT32 gametypedefaultrules[NUMGAMETYPES];
|
||||||
extern UINT32 gametypetol[NUMGAMETYPES];
|
extern UINT32 gametypetol[NUMGAMETYPES];
|
||||||
extern INT16 gametyperankings[NUMGAMETYPES];
|
extern INT16 gametyperankings[NUMGAMETYPES];
|
||||||
|
|
Loading…
Reference in a new issue