X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2Fexport.h;h=fe5995fdaf9bff12b5c5ad1dcc7ce1f9e9fa9ae3;hb=97fb6c2a140f361991541bcf5a5c1e5d18deaf74;hp=bfeab9dd4973bfdee398ddfa100044dbe47b5c19;hpb=f926e522aef77158e0011ae5ad2cf8805509d6d1;p=rocksndiamonds.git diff --git a/src/game_sp/export.h b/src/game_sp/export.h index bfeab9dd..fe5995fd 100644 --- a/src/game_sp/export.h +++ b/src/game_sp/export.h @@ -35,6 +35,19 @@ #define SP_MAX_TAPE_LEN 64010 /* (see "spfix63.doc") */ +/* sound actions */ + +#define actActive 0 +#define actImpact 1 +#define actExploding 2 +#define actDigging 3 +#define actSnapping 4 +#define actCollecting 5 +#define actPassing 6 +#define actPushing 7 +#define actDropping 8 + + /* ------------------------------------------------------------------------- */ /* data structure definitions */ /* ------------------------------------------------------------------------- */ @@ -90,8 +103,16 @@ struct GameInfo_SP boolean LevelSolved; boolean GameOver; + /* needed for updating panel */ + int time_played; + int infotrons_still_needed; + int red_disk_count; + int score; + /* needed for engine snapshots */ int preceding_buffer_size; + + int scroll_xoffset, scroll_yoffset; }; struct DemoInfo_SP @@ -114,6 +135,9 @@ struct LevelInfo_SP byte playfield[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT]; struct DemoInfo_SP demo; + + /* used for runtime values */ + struct GameInfo_SP *game_sp; }; struct GraphicInfo_SP @@ -162,6 +186,8 @@ extern struct EngineSnapshotInfo_SP engine_snapshot_sp; extern void sp_open_all(); extern void sp_close_all(); +extern void InitGfxBuffers_SP(); + extern void InitGameEngine_SP(); extern void GameActions_SP(byte *, boolean); @@ -170,6 +196,7 @@ extern unsigned int InitEngineRandom_SP(long); extern void setLevelInfoToDefaults_SP(); extern void copyInternalEngineVars_SP(); extern boolean LoadNativeLevel_SP(char *, int); +extern void SaveNativeLevel_SP(char *); extern void BackToFront_SP(void); extern void BlitScreenToBitmap_SP(Bitmap *);