Cavestory Mod API
Classes
GameDemo.h File Reference
#include <CSMAPI_begincode.h>
#include <CSMAPI_endcode.h>

Go to the source code of this file.

Classes

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_STATEgRecordingDemo
 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_STRUCTCSM_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_STRUCTCSM_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_STRUCTCSM_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_STRUCTCSM_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_STRUCTCSM_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_STRUCTCSM_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_STRUCTCSM_GameDemo_Record_PlayerState (GAME_DEMO_STATE *pState, const char *pName, SafeClientInterface *pInterface)
 Record a player's state. More...
 
CAVESTORY_MOD_API PXDEMO_EVENT_STRUCTCSM_GameDemo_Record_Stage (GAME_DEMO_STATE *pState)
 Record the current stage index. More...
 
CAVESTORY_MOD_API PXDEMO_EVENT_STRUCTCSM_GameDemo_Record_RandomSeed (GAME_DEMO_STATE *pState)
 Record the current random seed. More...
 
CAVESTORY_MOD_API PXDEMO_EVENT_STRUCTCSM_GameDemo_Record_NpcState (GAME_DEMO_STATE *pState, NPCHAR *pNpc, int iIndex)
 Record the state of an NPC. More...
 
CAVESTORY_MOD_API PXDEMO_EVENT_STRUCTCSM_GameDemo_Record_Fade (GAME_DEMO_STATE *pState, PXDEMO_FADE_TYPE iType, Directions iDirect)
 Record a screen fade. More...
 
CAVESTORY_MOD_API PXDEMO_EVENT_STRUCTCSM_GameDemo_Record_Camera (GAME_DEMO_STATE *pState)
 Record the game camera's current details. More...
 
CAVESTORY_MOD_API PXDEMO_EVENT_STRUCTCSM_GameDemo_Record_Timer (GAME_DEMO_STATE *pState)
 Record the game's timer. More...
 
CAVESTORY_MOD_API PXDEMO_EVENT_STRUCTCSM_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...