X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.h;h=1d7f9cf5df9f9ef4f8391a6304d0a0cb4c0b445f;hb=e7708c173a04372c58664da368a2ede5a1214836;hp=9fda50e30c12f932de8ecfb879048d4c59f31f91;hpb=a317406fca69646d6cfc430112ee90c84e960def;p=rocksndiamonds.git diff --git a/src/game.h b/src/game.h index 9fda50e3..1d7f9cf5 100644 --- a/src/game.h +++ b/src/game.h @@ -31,12 +31,14 @@ #define STR_SNAPSHOT_MODE_OFF "off" #define STR_SNAPSHOT_MODE_EVERY_STEP "every_step" #define STR_SNAPSHOT_MODE_EVERY_MOVE "every_move" -#define STR_SNAPSHOT_MODE_DEFAULT STR_SNAPSHOT_MODE_EVERY_MOVE +#define STR_SNAPSHOT_MODE_EVERY_COLLECT "every_collect" +#define STR_SNAPSHOT_MODE_DEFAULT STR_SNAPSHOT_MODE_OFF #define SNAPSHOT_MODE_OFF 0 #define SNAPSHOT_MODE_EVERY_STEP 1 #define SNAPSHOT_MODE_EVERY_MOVE 2 -#define SNAPSHOT_MODE_DEFAULT SNAPSHOT_MODE_EVERY_MOVE +#define SNAPSHOT_MODE_EVERY_COLLECT 3 +#define SNAPSHOT_MODE_DEFAULT SNAPSHOT_MODE_OFF struct GamePanelInfo @@ -55,6 +57,9 @@ struct GamePanelInfo struct TextPosInfo time_hh; struct TextPosInfo time_mm; struct TextPosInfo time_ss; + struct TextPosInfo time_anim; + struct TextPosInfo health; + struct TextPosInfo health_anim; struct TextPosInfo frame; struct TextPosInfo shield_normal; struct TextPosInfo shield_normal_time; @@ -119,6 +124,9 @@ struct GameSnapshotInfo byte last_action[MAX_PLAYERS]; boolean changed_action; + boolean collected_item; + + boolean save_snapshot; }; struct GameInfo @@ -224,6 +232,9 @@ struct PlayerInfo byte programmed_action; /* action forced by game itself (like moving through doors); overrides other actions */ + struct MouseActionInfo mouse_action; /* (used by MM engine only) */ + struct MouseActionInfo effective_mouse_action; /* (used by MM engine only) */ + int jx, jy, last_jx, last_jy; int MovDir, MovPos, GfxDir, GfxPos; int Frame, StepFrame; @@ -269,8 +280,15 @@ struct PlayerInfo boolean is_bored; boolean is_sleeping; + boolean was_waiting; + boolean was_moving; + boolean was_snapping; + boolean was_dropping; + boolean cannot_move; + boolean force_dropping; /* needed for single step mode */ + int frame_counter_bored; int frame_counter_sleeping; @@ -334,6 +352,8 @@ void DEBUG_SetMaximumDynamite(); void GetPlayerConfig(void); int GetElementFromGroupElement(int); +int getPlayerInventorySize(int); + void DrawGameValue_Time(int); void DrawGameDoorValues(void); @@ -342,7 +362,7 @@ void UpdateAndDisplayGameControlValues(); void InitGameSound(); void InitGame(); -void UpdateEngineValues(int, int); +void UpdateEngineValues(int, int, int, int); void GameWon(void); void GameEnd(void); @@ -356,6 +376,7 @@ void StartGameActions(boolean, boolean, int); void GameActions(void); void GameActions_EM_Main(); void GameActions_SP_Main(); +void GameActions_MM_Main(); void GameActions_RND_Main(); void GameActions_RND(); @@ -364,6 +385,10 @@ void ScrollLevel(int, int); void InitPlayLevelSound(); void PlayLevelSound_EM(int, int, int, int); void PlayLevelSound_SP(int, int, int, int); +void PlayLevelSound_MM(int, int, int, int); +void PlaySound_MM(int); +void PlaySoundLoop_MM(int); +void StopSound_MM(int); void RaiseScore(int); void RaiseScoreElement(int); @@ -378,7 +403,8 @@ void FreeEngineSnapshotSingle(); void FreeEngineSnapshotList(); void LoadEngineSnapshotSingle(); void SaveEngineSnapshotSingle(); -boolean SaveEngineSnapshotToList(); +boolean CheckSaveEngineSnapshotToList(); +void SaveEngineSnapshotToList(); void SaveEngineSnapshotToListInitial(); boolean CheckEngineSnapshotSingle(); boolean CheckEngineSnapshotList();