| 
| struct   | PXDEMO_DEMOINFO_STRUCT | 
|   | Game info.  More...
  | 
|   | 
| struct   | PXDEMO_PLAYERSTATE_STRUCT | 
|   | State of a player.  More...
  | 
|   | 
| struct   | PXDEMO_PLAYER_STRUCT | 
|   | Player info.  More...
  | 
|   | 
| struct   | PXDEMO_FRAME_STRUCT | 
|   | Frame info.  More...
  | 
|   | 
| struct   | EVENT_SETPLAYERSTATE_STRUCT | 
|   | Event: Set player state.  More...
  | 
|   | 
| struct   | EVENT_SETSTAGE_STRUCT | 
|   | Event: Set current stage.  More...
  | 
|   | 
| struct   | EVENT_SETRANDOMSEED_STRUCT | 
|   | Event: Set the random seed.  More...
  | 
|   | 
| struct   | EVENT_SETNPCSTATE_STRUCT | 
|   | Event: Set the state of an NPC at the given slot.  More...
  | 
|   | 
| struct   | EVENT_DOSCREENFADE_STRUCT | 
|   | Event: Do a screen fade in / out.  More...
  | 
|   | 
| struct   | EVENT_SETCAMERA_STRUCT | 
|   | Event: Set camera details.  More...
  | 
|   | 
| struct   | EVENT_SETTIMER_STRUCT | 
|   | Event: Set game timer.  More...
  | 
|   | 
| struct   | EVENT_SETNPCDATA_STRUCT | 
|   | Event: Set NPC data.  More...
  | 
|   | 
| struct   | EVENT_SETMAPTILE_STRUCT | 
|   | Event: Set map tile.  More...
  | 
|   | 
| union   | PXDEMO_EVENT_UNION | 
|   | A union containing all possibilities for an event.  More...
  | 
|   | 
| struct   | PXDEMO_EVENT_STRUCT | 
|   | Main event info struct.  More...
  | 
|   | 
| struct   | PXDEMO_PLAYER_CHUNK | 
|   | Holds all the players.  More...
  | 
|   | 
| struct   | PXDEMO_FRAME_CHUNK | 
|   | Holds all frames.  More...
  | 
|   | 
| struct   | GAME_DEMO_STATE | 
|   | Holds a game demo's state.  More...
  | 
|   | 
| enum   | PXDEMO_EVENT_TYPE : unsigned char {  
  PXDET_INVALID_EVENT = 0
, PXDET_SET_PLAYER_STATE = 1
, PXDET_SET_STAGE = 2
, PXDET_SET_RANDOM_SEED = 3
,  
  PXDET_SET_NPC_STATE = 4
, PXDET_DO_SCREEN_FADE = 5
, PXDET_SET_CAMERA = 6
, PXDET_SET_TIMER = 7
,  
  PXDET_SET_NPC_DATA = 8
, PXDET_SET_MAP_TILE = 9
, PXDET_MAX_EVENTS
 
 } | 
|   | GameDemo Event Types.  More...
  | 
|   | 
| enum   | PXDEMO_FADE_TYPE : unsigned char { PXDFT_CLEAR_FADE = 0
, PXDFT_FADE_IN = 1
, PXDFT_FADE_OUT = 2
, PXDFT_MAX_FADES
 } | 
|   | Fade effect types.  More...
  | 
|   | 
| enum   | PXDEMO_PLAYERSTATE_CHANGE : unsigned int {  
  PXDPSC_cond = 0x00000001
, PXDPSC_x = 0x00000002
, PXDPSC_y = 0x00000004
, PXDPSC_xm = 0x00000008
,  
  PXDPSC_ym = 0x00000010
, PXDPSC_life = 0x00000020
, PXDPSC_max_life = 0x00000040
, PXDPSC_input_flags = 0x00000080
,  
  PXDPSC_input_flags_trg = 0x00000100
, PXDPSC_weapon_code = 0x00000200
, PXDPSC_weapon_ammo = 0x00000400
, PXDPSC_weapon_max_ammo = 0x00000800
,  
  PXDPSC_weapon_level = 0x00001000
, PXDPSC_weapon_exp = 0x00002000
, PXDPSC_selectedArms = 0x00004000
, PXDPSC_direct = 0x00008000
,  
  PXDPSC_ani_no = 0x00010000
, PXDPSC_ani_wait = 0x00020000
, PXDPSC_equip = 0x00040000
, PXDPSC_star = 0x00080000
,  
  PXDPSC_shock = 0x00100000
, PXDPSC_netanim = 0x00200000
, PXDPSC_physics_normal = 0x00400000
, PXDPSC_physics_underwater = 0x00800000
,  
  PXDPSC_ignore_water = 0x01000000
, PXDPSC_boost_sw = 0x02000000
, PXDPSC_boost_cnt = 0x04000000
, PXDPSC_flag = 0x08000000
,  
  PXDPSC_updown = 0x10000000
, PXDPSC_counts = 0x20000000
, PXDPSC_act_wait = 0x40000000
, PXDPSC_act_no = 0x80000000
,  
  PXDPSC_ALL_FLAGS = 0xFFFFFFFF
, PXDPSC_COUNT = 34 + (8 * 2)
, PXDPSC_UNIQUE_COUNT = PXDPSC_COUNT - ((8 * 2) + 1)
, PXDPSC_BIGGEST_TYPE = sizeof(MYCHAR_PHYSICS)
 
 } | 
|   | Changed playerstate variables between frames.  More...
  | 
|   | 
| CAVESTORY_MOD_API GAME_DEMO_STATE *  | gRecordingDemo | 
|   | A pointer to the current recording demo.  More...
  | 
|   | 
| CAVESTORY_MOD_API void  | CSM_GameDemo_Link (GAME_DEMO_STATE *pState) | 
|   | Register a demo to the active linkage list.  More...
  | 
|   | 
| CAVESTORY_MOD_API void  | CSM_GameDemo_Unlink (GAME_DEMO_STATE *pState) | 
|   | Unregister a demo from the active linkage list.  More...
  | 
|   | 
| CAVESTORY_MOD_API bool  | CSM_GameDemo_FirstLink (GAME_DEMO_STATE **pFirst) | 
|   | Get the first in the gamestate link.  More...
  | 
|   | 
| CAVESTORY_MOD_API void  | CSM_GameDemo_Init (GAME_DEMO_STATE *pState) | 
|   | Initialize a GAME_DEMO_STATE object without linking it.  More...
  | 
|   | 
| CAVESTORY_MOD_API void  | CSM_GameDemo_Init_Relink (GAME_DEMO_STATE *pState) | 
|   | Initialize a GAME_DEMO_STATE object whilst also re-linking it.  More...
  | 
|   | 
| CAVESTORY_MOD_API void  | CSM_GameDemo_Free (GAME_DEMO_STATE *pState) | 
|   | Free a GAME_DEMO_STATE object.  More...
  | 
|   | 
| CAVESTORY_MOD_API int  | CSM_GameDemo_Load (GAME_DEMO_STATE *pState, const char *pFileName) | 
|   | Load a game demo.  More...
  | 
|   | 
| CAVESTORY_MOD_API int  | CSM_GameDemo_Save (GAME_DEMO_STATE *pState, const char *pFileName) | 
|   | Save a game demo.  More...
  | 
|   | 
| CAVESTORY_MOD_API bool  | CSM_GameDemo_CombineDemos (GAME_DEMO_STATE *pDst, GAME_DEMO_STATE *pSource, unsigned int iFrameOffset=0xFFFFFFFF) | 
|   | Combine game demos.  More...
  | 
|   | 
| CAVESTORY_MOD_API bool  | CSM_GameDemo_Optimize (GAME_DEMO_STATE *pState, bool bSaveAndLoad) | 
|   | Optimize a game demo.  More...
  | 
|   | 
| CAVESTORY_MOD_API PXDEMO_PLAYER_STRUCT *  | CSM_GameDemo_Players_Add (GAME_DEMO_STATE *pState, const char *pName, SafeClientInterface *pInterface) | 
|   | Add a player to the demo state.  More...
  | 
|   | 
| CAVESTORY_MOD_API bool  | CSM_GameDemo_Players_Remove (GAME_DEMO_STATE *pState, const char *pName) | 
|   | Remove a player from the demo state.  More...
  | 
|   | 
| CAVESTORY_MOD_API PXDEMO_PLAYER_STRUCT *  | CSM_GameDemo_Players_Find (GAME_DEMO_STATE *pState, const char *pName, int *pIndex=NULL) | 
|   | Find a player's object by name.  More...
  | 
|   | 
| CAVESTORY_MOD_API PXDEMO_EVENT_STRUCT *  | CSM_GameDemo_Events_Add (GAME_DEMO_STATE *pState, PXDEMO_EVENT_TYPE iType, unsigned int iFrameNo, unsigned int iInsertNo=0xFFFFFFFF) | 
|   | Add an event to the demo.  More...
  | 
|   | 
| CAVESTORY_MOD_API bool  | CSM_GameDemo_Events_Remove (GAME_DEMO_STATE *pState, PXDEMO_EVENT_TYPE iType, int iFrameNo, int iStartIndex=0) | 
|   | Remove an event from the demo.  More...
  | 
|   | 
| CAVESTORY_MOD_API PXDEMO_EVENT_STRUCT *  | CSM_GameDemo_Events_Find (GAME_DEMO_STATE *pState, PXDEMO_EVENT_TYPE iType, int iFrameNo, int iStartIndex=0, PXDEMO_FRAME_STRUCT **pFramePtr=NULL, int *pFrameIndex=NULL, int *pEventIndex=NULL) | 
|   | Find an event.  More...
  | 
|   | 
| CAVESTORY_MOD_API PXDEMO_FRAME_STRUCT *  | CSM_GameDemo_Frames_Add (GAME_DEMO_STATE *pState, int iFrameNo) | 
|   | Add af rame to the demo.  More...
  | 
|   | 
| CAVESTORY_MOD_API bool  | CSM_GameDemo_Frames_Remove (GAME_DEMO_STATE *pState, int iFrameNo) | 
|   | Remove a frame from the demo.  More...
  | 
|   | 
| CAVESTORY_MOD_API PXDEMO_FRAME_STRUCT *  | CSM_GameDemo_Frames_Find (GAME_DEMO_STATE *pState, int iFrameNo, int *pIndex=NULL) | 
|   | Find a frame.  More...
  | 
|   | 
| CAVESTORY_MOD_API void  | CSM_GameDemo_LoadGamestate (GAME_DEMO_STATE *pState) | 
|   | Load a demo's gamestate.  More...
  | 
|   | 
| CAVESTORY_MOD_API void  | CSM_GameDemo_Act (GAME_DEMO_STATE *pState, bool bFreezeFrame=false, bool bDontDraw=false, bool bDrawHUD=true, bool bDrawFade=true) | 
|   | Act for a frame.  More...
  | 
|   | 
| 
CAVESTORY_MOD_API void  | CSM_GameDemo_StartRecord () | 
|   | Begin recording a demo. 
  | 
|   | 
| CAVESTORY_MOD_API void  | CSM_GameDemo_StopRecord (GAME_DEMO_STATE *pState) | 
|   | Stop recording a demo.  More...
  | 
|   | 
| CAVESTORY_MOD_API PXDEMO_EVENT_STRUCT *  | CSM_GameDemo_Record_PlayerState (GAME_DEMO_STATE *pState, const char *pName, SafeClientInterface *pInterface) | 
|   | Record a player's state.  More...
  | 
|   | 
| CAVESTORY_MOD_API PXDEMO_EVENT_STRUCT *  | CSM_GameDemo_Record_Stage (GAME_DEMO_STATE *pState) | 
|   | Record the current stage index.  More...
  | 
|   | 
| CAVESTORY_MOD_API PXDEMO_EVENT_STRUCT *  | CSM_GameDemo_Record_RandomSeed (GAME_DEMO_STATE *pState) | 
|   | Record the current random seed.  More...
  | 
|   | 
| CAVESTORY_MOD_API PXDEMO_EVENT_STRUCT *  | CSM_GameDemo_Record_NpcState (GAME_DEMO_STATE *pState, NPCHAR *pNpc, int iIndex) | 
|   | Record the state of an NPC.  More...
  | 
|   | 
| CAVESTORY_MOD_API PXDEMO_EVENT_STRUCT *  | CSM_GameDemo_Record_Fade (GAME_DEMO_STATE *pState, PXDEMO_FADE_TYPE iType, Directions iDirect) | 
|   | Record a screen fade.  More...
  | 
|   | 
| CAVESTORY_MOD_API PXDEMO_EVENT_STRUCT *  | CSM_GameDemo_Record_Camera (GAME_DEMO_STATE *pState) | 
|   | Record the game camera's current details.  More...
  | 
|   | 
| CAVESTORY_MOD_API PXDEMO_EVENT_STRUCT *  | CSM_GameDemo_Record_Timer (GAME_DEMO_STATE *pState) | 
|   | Record the game's timer.  More...
  | 
|   | 
| CAVESTORY_MOD_API PXDEMO_EVENT_STRUCT *  | CSM_GameDemo_Record_MapTileChange (GAME_DEMO_STATE *pState, unsigned short iTileX, unsigned short iTileY, unsigned int iOldTileID, unsigned int iNewTileID, bool bCreateSmoke, bool bOnlyUndo) | 
|   | Record a maptile change.  More...
  | 
|   | 
| CAVESTORY_MOD_API int  | CSM_GameDemo_Record_NewFrame (GAME_DEMO_STATE *pState) | 
|   | Increment the simulated frame count.  More...
  | 
|   |