X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=4901a874c5d918e48224f0ed18a452730fbd96e4;hb=b640b9d7647df4cbba0e530f6f4bcece384048e4;hp=84f128770d8aeb10a5ca7bab31279d8b212d4163;hpb=caa7c617a9ffc31ac6b4a20d7046235c409671ca;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index 84f12877..4901a874 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -112,6 +112,9 @@ #define BUTTON_1 4 #define BUTTON_2 5 +/* values for special "focus player" bitmasks */ +#define BIT_SET_FOCUS 6 + /* values for move directions and special "button" key bitmasks */ #define MV_NONE 0 #define MV_LEFT (1 << MV_BIT_LEFT) @@ -136,6 +139,8 @@ #define KEY_BUTTON (KEY_BUTTON_1 | KEY_BUTTON_2) #define KEY_ACTION (KEY_MOTION | KEY_BUTTON) +#define KEY_SET_FOCUS (1 << BIT_SET_FOCUS) + #define MV_DIR_FROM_BIT(x) ((x) < NUM_DIRECTIONS ? 1 << (x) : \ (x) == MV_BIT_UPLEFT ? MV_UPLEFT : \ (x) == MV_BIT_UPRIGHT ? MV_UPRIGHT : \ @@ -218,6 +223,11 @@ #define CURSOR_DEFAULT 0 #define CURSOR_PLAYFIELD 1 +/* fundamental game speed values */ +#define ONE_SECOND_DELAY 1000 /* delay value for one second */ +#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) /* maximum playfield size supported by libgame functions */ #define MAX_PLAYFIELD_WIDTH 128 @@ -267,6 +277,8 @@ #define RW_BASE_PATH RW_GAME_DIR /* directory names */ +#define GRAPHICS_ECS_DIRECTORY "graphics.ecs" +#define GRAPHICS_AGA_DIRECTORY "graphics.aga" #define GRAPHICS_DIRECTORY "graphics" #define SOUNDS_DIRECTORY "sounds" #define MUSIC_DIRECTORY "music" @@ -426,9 +438,9 @@ #define ARTWORK_FIRST_NODE(artwork, type) \ ((type) == ARTWORK_TYPE_GRAPHICS ? \ - (artwork).gfx_first : \ + (artwork).gfx_first : \ (type) == ARTWORK_TYPE_SOUNDS ? \ - (artwork).snd_first : \ + (artwork).snd_first : \ (artwork).mus_first) #define ARTWORK_CURRENT_IDENTIFIER_PTR(artwork, type) \ @@ -694,6 +706,8 @@ struct SetupInfo boolean ask_on_escape; boolean ask_on_escape_editor; boolean quick_switch; + boolean input_on_focus; + boolean prefer_aga_graphics; char *graphics_set; char *sounds_set; @@ -734,6 +748,8 @@ struct TreeInfo char *imported_from; /* optional comment for imported levels or artwork */ char *imported_by; /* optional comment for imported levels or artwork */ + char *graphics_ecs_set; /* special EMC custom graphics set (ECS graphics) */ + char *graphics_aga_set; /* special EMC custom graphics set (AGA graphics) */ char *graphics_set; /* optional custom graphics set (level tree only) */ char *sounds_set; /* optional custom sounds set (level tree only) */ char *music_set; /* optional custom music set (level tree only) */