X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=fa422cafd8ee206c299023d8908a62430747f4ac;hp=109cca0eaaad3b84192d0d1a34bf6dc53c9f6737;hb=f7fcf0207e03bea13618e718f522c15d9120460c;hpb=4ddda51cd71310a5fd0ce874bd6a0d60e88788d8 diff --git a/src/libgame/system.h b/src/libgame/system.h index 109cca0e..fa422caf 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -130,6 +130,34 @@ #define DEFAULT_KEY_SNAP_UP KSYM_UNDEFINED #define DEFAULT_KEY_SNAP_DOWN KSYM_UNDEFINED +/* default debug setup keys and values */ +#define DEFAULT_FRAME_DELAY_0 20 // 100 % speed +#define DEFAULT_FRAME_DELAY_1 500 // 4 % speed +#define DEFAULT_FRAME_DELAY_2 250 // 8 % speed +#define DEFAULT_FRAME_DELAY_3 125 // 16 % speed +#define DEFAULT_FRAME_DELAY_4 60 // 33 % speed +#define DEFAULT_FRAME_DELAY_5 40 // 50 % speed +#define DEFAULT_FRAME_DELAY_6 30 // 66 % speed +#define DEFAULT_FRAME_DELAY_7 10 // 200 % speed +#define DEFAULT_FRAME_DELAY_8 5 // 400 % speed +#define DEFAULT_FRAME_DELAY_9 0 // maximum speed + +#define DEFAULT_KEY_FRAME_DELAY_0 KSYM_0 +#define DEFAULT_KEY_FRAME_DELAY_1 KSYM_1 +#define DEFAULT_KEY_FRAME_DELAY_2 KSYM_2 +#define DEFAULT_KEY_FRAME_DELAY_3 KSYM_3 +#define DEFAULT_KEY_FRAME_DELAY_4 KSYM_4 +#define DEFAULT_KEY_FRAME_DELAY_5 KSYM_5 +#define DEFAULT_KEY_FRAME_DELAY_6 KSYM_6 +#define DEFAULT_KEY_FRAME_DELAY_7 KSYM_7 +#define DEFAULT_KEY_FRAME_DELAY_8 KSYM_8 +#define DEFAULT_KEY_FRAME_DELAY_9 KSYM_9 + +#define NUM_DEBUG_FRAME_DELAY_KEYS 10 + +#define DEFAULT_FRAME_DELAY_USE_MOD_KEY FALSE +#define DEFAULT_FRAME_DELAY_GAME_ONLY TRUE + /* values for key_status */ #define KEY_NOT_PRESSED FALSE #define KEY_RELEASED FALSE @@ -151,12 +179,12 @@ #define MB_WHEEL_DOWN 5 #define MB_WHEEL_LEFT 6 #define MB_WHEEL_RIGHT 7 -#define IS_WHEEL_BUTTON_VERTICAL(b) ((b) >= MB_WHEEL_UP && \ - (b) <= MB_WHEEL_DOWN) -#define IS_WHEEL_BUTTON_HORIZONTAL(b) ((b) >= MB_WHEEL_LEFT && \ - (b) <= MB_WHEEL_RIGHT) -#define IS_WHEEL_BUTTON(b) ((b) >= MB_WHEEL_UP && \ - (b) <= MB_WHEEL_DOWN) +#define IS_WHEEL_BUTTON_VERTICAL(b) ((b) == MB_WHEEL_UP || \ + (b) == MB_WHEEL_DOWN) +#define IS_WHEEL_BUTTON_HORIZONTAL(b) ((b) == MB_WHEEL_LEFT || \ + (b) == MB_WHEEL_RIGHT) +#define IS_WHEEL_BUTTON(b) (IS_WHEEL_BUTTON_VERTICAL(b) || \ + IS_WHEEL_BUTTON_HORIZONTAL(b)) #define DEFAULT_WHEEL_STEPS 3 #define BUTTON_STEPSIZE(b) ((b) == MB_LEFTBUTTON ? 1 : \ @@ -371,6 +399,7 @@ /* fundamental game speed values */ #define ONE_SECOND_DELAY 1000 /* delay value for one second */ +#define MENU_FRAME_DELAY 20 /* frame delay in milliseconds */ #define GAME_FRAME_DELAY 20 /* frame delay in milliseconds */ #define FFWD_FRAME_DELAY 10 /* 200% speed for fast forward */ #define FRAMES_PER_SECOND (ONE_SECOND_DELAY / GAME_FRAME_DELAY) @@ -1010,6 +1039,14 @@ struct SetupInternalInfo boolean choose_from_top_leveldir; }; +struct SetupDebugInfo +{ + int frame_delay[10]; + Key frame_delay_key[10]; + boolean frame_delay_use_mod_key; + boolean frame_delay_game_only; +}; + struct SetupInfo { char *player_name; @@ -1022,6 +1059,7 @@ struct SetupInfo boolean scroll_delay; boolean scroll_delay_value; char *engine_snapshot_mode; + int engine_snapshot_memory; boolean fade_screens; boolean autorecord; boolean show_titlescreen; @@ -1062,6 +1100,8 @@ struct SetupInfo struct SetupTouchInfo touch; struct SetupSystemInfo system; struct SetupInternalInfo internal; + struct SetupDebugInfo debug; + struct OptionInfo options; }; @@ -1336,6 +1376,7 @@ extern DrawBuffer *drawto; extern int button_status; extern boolean motion_status; +extern int wheel_steps; #if defined(TARGET_SDL2) extern boolean keyrepeat_status; #endif @@ -1385,7 +1426,7 @@ void CloseVideoDisplay(void); void InitVideoBuffer(int, int, int, boolean); Bitmap *CreateBitmapStruct(void); Bitmap *CreateBitmap(int, int, int); -void ReCreateBitmap(Bitmap **, int, int, int); +void ReCreateBitmap(Bitmap **, int, int); void FreeBitmap(Bitmap *); void BlitBitmap(Bitmap *, Bitmap *, int, int, int, int, int, int); void BlitBitmapTiled(Bitmap *, Bitmap *, int, int, int, int, int, int, int,int); @@ -1421,7 +1462,6 @@ Bitmap *LoadImage(char *); Bitmap *LoadCustomImage(char *); void ReloadCustomImage(Bitmap *, char *); -Bitmap *ZoomBitmap(Bitmap *, int, int); void ReCreateGameTileSizeBitmap(Bitmap **); void CreateBitmapWithSmallBitmaps(Bitmap **, int, int); void CreateBitmapTextures(Bitmap **);