X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fgame_sp%2Fexport.h;h=1ac2d311d4b40cbd6ab90ea0b4b4d47e3f00ba61;hp=2dbd0ae0995307046d14b9b336bbbc9e84a84faf;hb=64e7c54dce6ea8c063f04198c64c5057d751c928;hpb=fe43dcf8ac7fb16e80d60a0c187bcbd65f40b5f2 diff --git a/src/game_sp/export.h b/src/game_sp/export.h index 2dbd0ae0..1ac2d311 100644 --- a/src/game_sp/export.h +++ b/src/game_sp/export.h @@ -1,13 +1,13 @@ #ifndef GAME_SP_EXPORT_H #define GAME_SP_EXPORT_H -/* ========================================================================= */ -/* functions and definitions exported from game_sp to main program */ -/* ========================================================================= */ +// ============================================================================ +// functions and definitions exported from game_sp to main program +// ============================================================================ -/* ------------------------------------------------------------------------- */ -/* constant definitions */ -/* ------------------------------------------------------------------------- */ +// ---------------------------------------------------------------------------- +// constant definitions +// ---------------------------------------------------------------------------- #define SP_MAX_PLAYFIELD_WIDTH MAX_PLAYFIELD_WIDTH #define SP_MAX_PLAYFIELD_HEIGHT MAX_PLAYFIELD_HEIGHT @@ -26,16 +26,15 @@ SP_MAX_PLAYFIELD_HEIGHT) #define SP_STD_LEVEL_SIZE (SP_HEADER_SIZE + SP_STD_PLAYFIELD_SIZE) -#if 0 -#define SP_SCREEN_BUFFER_XSIZE (SCR_FIELDX + 2) -#define SP_SCREEN_BUFFER_YSIZE (SCR_FIELDY + 2) -#endif - #define SP_FRAMES_PER_SECOND 35 -#define SP_MAX_TAPE_LEN 64010 /* (see "spfix63.doc") */ + +// use a much higher value to be able to load ultra-long MPX demo files +// (like for level collection 78, level 88 ("WAITING FOR GODOT AGAIN")) +// #define SP_MAX_TAPE_LEN 500000 +#define SP_MAX_TAPE_LEN 64010 // (see "spfix63.doc") -/* sound actions */ +// sound actions #define actActive 0 #define actImpact 1 @@ -48,18 +47,14 @@ #define actDropping 8 -/* ------------------------------------------------------------------------- */ -/* data structure definitions */ -/* ------------------------------------------------------------------------- */ +// ---------------------------------------------------------------------------- +// data structure definitions +// ---------------------------------------------------------------------------- #ifndef HAS_SpecialPortType typedef struct { -#if 1 - short PortLocation; // = 2*(x+(y*60)) /* big endian format */ -#else - int PortLocation; // = 2*(x+(y*60)) -#endif + short PortLocation; // = 2*(x+(y*60)) // big endian format byte Gravity; // 1 = turn on, anything else (0) = turn off byte FreezeZonks; // 2 = turn on, anything else (0) = turn off (1=off!) byte FreezeEnemies; // 1 = turn on, anything else (0) = turn off @@ -85,11 +80,7 @@ typedef struct SpecialPortType SpecialPort[10]; byte SpeedByte; // = Speed XOR Highbyte(RandomSeed) byte CheckSumByte; // = CheckSum XOR SpeedByte -#if 1 - short DemoRandomSeed; /* little endian format */ -#else - int DemoRandomSeed; -#endif + short DemoRandomSeed; // little endian format } LevelInfoType; #define HAS_LevelInfoType #endif @@ -103,13 +94,13 @@ struct GameInfo_SP boolean LevelSolved; boolean GameOver; - /* needed for updating panel */ + // needed for updating panel int time_played; int infotrons_still_needed; int red_disk_count; int score; - /* needed for engine snapshots */ + // needed for engine snapshots char **preceding_buffer; int preceding_buffer_size; @@ -118,12 +109,12 @@ struct GameInfo_SP struct DemoInfo_SP { - boolean is_available; /* structure contains valid demo */ + boolean is_available; // structure contains valid demo - int level_nr; /* number of corresponding level */ + int level_nr; // number of corresponding level - int length; /* number of demo entries */ - byte data[SP_MAX_TAPE_LEN]; /* array of demo entries */ + int length; // number of demo entries + byte data[SP_MAX_TAPE_LEN]; // array of demo entries }; struct LevelInfo_SP @@ -137,7 +128,7 @@ struct LevelInfo_SP struct DemoInfo_SP demo; - /* used for runtime values */ + // used for runtime values struct GameInfo_SP *game_sp; }; @@ -156,7 +147,7 @@ struct GraphicInfo_SP boolean has_crumbled_graphics; boolean preserve_background; - int unique_identifier; /* used to identify needed screen updates */ + int unique_identifier; // used to identify needed screen updates }; struct EngineSnapshotInfo_SP @@ -173,9 +164,9 @@ struct EngineSnapshotInfo_SP }; -/* ------------------------------------------------------------------------- */ -/* exported functions */ -/* ------------------------------------------------------------------------- */ +// ---------------------------------------------------------------------------- +// exported functions +// ---------------------------------------------------------------------------- extern struct GlobalInfo_SP global_sp_info; extern struct GameInfo_SP game_sp; @@ -184,33 +175,34 @@ extern struct GraphicInfo_SP graphic_info_sp_object[TILE_MAX][8]; extern struct GraphicInfo_SP graphic_info_sp_player[MAX_PLAYERS][SPR_MAX][8]; extern struct EngineSnapshotInfo_SP engine_snapshot_sp; -extern void sp_open_all(); -extern void sp_close_all(); +void sp_open_all(void); +void sp_close_all(void); + +void InitPrecedingPlayfieldMemory(void); +void InitGfxBuffers_SP(void); -extern void InitPrecedingPlayfieldMemory(); -extern void InitGfxBuffers_SP(); +void InitGameEngine_SP(void); +void GameActions_SP(byte *, boolean); -extern void InitGameEngine_SP(); -extern void GameActions_SP(byte *, boolean); +unsigned int InitEngineRandom_SP(int); -extern unsigned int InitEngineRandom_SP(long); +void setLevelInfoToDefaults_SP(void); +void copyInternalEngineVars_SP(void); +boolean LoadNativeLevel_SP(char *, int, boolean); +void SaveNativeLevel_SP(char *); -extern void setLevelInfoToDefaults_SP(); -extern void copyInternalEngineVars_SP(); -extern boolean LoadNativeLevel_SP(char *, int); -extern void SaveNativeLevel_SP(char *); +int getFieldbufferOffsetX_SP(void); +int getFieldbufferOffsetY_SP(void); -extern void BackToFront_SP(void); -extern void BlitScreenToBitmap_SP(Bitmap *); -extern void RedrawPlayfield_SP(boolean); -extern void DrawGameDoorValues_SP(); +void BlitScreenToBitmap_SP(Bitmap *); +void RedrawPlayfield_SP(boolean); -extern void LoadEngineSnapshotValues_SP(); -extern void SaveEngineSnapshotValues_SP(); +void LoadEngineSnapshotValues_SP(void); +void SaveEngineSnapshotValues_SP(ListNode **); -extern int map_key_RND_to_SP(int); -extern int map_key_SP_to_RND(int); +int map_key_RND_to_SP(int); +int map_key_SP_to_RND(int); -extern int getRedDiskReleaseFlag_SP(); +int getRedDiskReleaseFlag_SP(void); -#endif /* GAME_SP_EXPORT_H */ +#endif // GAME_SP_EXPORT_H