X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=40a1a5d18ad4375bf397d596a4450078b4f08323;hb=56468eb7fc2e010ec2c2026793af35763195d332;hp=a11c6b8e5da76ec4ab130936b3ea202e1b874255;hpb=a1fabab3e5db1baab46a95a318b27fdf33d470cc;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index a11c6b8e..40a1a5d1 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -93,8 +93,10 @@ #define TOUCH_DROP_DISTANCE_DEFAULT 5 -/* values for screen keyboard on mobile devices */ +/* values for special settings for mobile devices */ #if defined(PLATFORM_ANDROID) +#define USE_TOUCH_INPUT_OVERLAY +#define USE_COMPLETE_DISPLAY #define HAS_SCREEN_KEYBOARD #define SCREEN_KEYBOARD_POS(h) ((h) / 2) #endif @@ -322,6 +324,46 @@ #define STYLE_DEFAULT STYLE_NONE +#define ANIM_EVENT_NONE 0 +#define ANIM_EVENT_CLICK_ANIM_1 (1 << 0) +#define ANIM_EVENT_CLICK_ANIM_2 (1 << 1) +#define ANIM_EVENT_CLICK_ANIM_3 (1 << 2) +#define ANIM_EVENT_CLICK_ANIM_4 (1 << 3) +#define ANIM_EVENT_CLICK_ANIM_5 (1 << 4) +#define ANIM_EVENT_CLICK_ANIM_6 (1 << 5) +#define ANIM_EVENT_CLICK_ANIM_7 (1 << 6) +#define ANIM_EVENT_CLICK_ANIM_8 (1 << 7) +#define ANIM_EVENT_CLICK_PART_1 (1 << 8) +#define ANIM_EVENT_CLICK_PART_2 (1 << 9) +#define ANIM_EVENT_CLICK_PART_3 (1 << 10) +#define ANIM_EVENT_CLICK_PART_4 (1 << 11) +#define ANIM_EVENT_CLICK_PART_5 (1 << 12) +#define ANIM_EVENT_CLICK_PART_6 (1 << 13) +#define ANIM_EVENT_CLICK_PART_7 (1 << 14) +#define ANIM_EVENT_CLICK_PART_8 (1 << 15) +#define ANIM_EVENT_CLICK_SELF (1 << 16) +#define ANIM_EVENT_CLICK_ANY (1 << 17) + +#define ANIM_EVENT_CLICK_ANIM_ALL (ANIM_EVENT_CLICK_ANIM_1 | \ + ANIM_EVENT_CLICK_ANIM_2 | \ + ANIM_EVENT_CLICK_ANIM_3 | \ + ANIM_EVENT_CLICK_ANIM_4 | \ + ANIM_EVENT_CLICK_ANIM_5 | \ + ANIM_EVENT_CLICK_ANIM_6 | \ + ANIM_EVENT_CLICK_ANIM_7 | \ + ANIM_EVENT_CLICK_ANIM_8) + +#define ANIM_EVENT_CLICK_PART_ALL (ANIM_EVENT_CLICK_PART_1 | \ + ANIM_EVENT_CLICK_PART_2 | \ + ANIM_EVENT_CLICK_PART_3 | \ + ANIM_EVENT_CLICK_PART_4 | \ + ANIM_EVENT_CLICK_PART_5 | \ + ANIM_EVENT_CLICK_PART_6 | \ + ANIM_EVENT_CLICK_PART_7 | \ + ANIM_EVENT_CLICK_PART_8) + +#define ANIM_EVENT_DEFAULT ANIM_EVENT_NONE + /* values for fade mode */ #define FADE_TYPE_NONE 0 #define FADE_TYPE_FADE_IN (1 << 0) @@ -355,6 +397,7 @@ #define POS_LOWER 5 #define POS_BOTTOM 6 #define POS_ANY 7 +#define POS_LAST 8 /* values for text alignment */ #define ALIGN_LEFT (1 << 0) @@ -506,6 +549,7 @@ #define SOUNDSINFO_FILENAME "soundsinfo.conf" #define MUSICINFO_FILENAME "musicinfo.conf" #define ARTWORKINFO_CACHE_FILE "artworkinfo.cache" +#define LEVELTEMPLATE_FILENAME "template.level" #define LEVELFILE_EXTENSION "level" #define TAPEFILE_EXTENSION "tape" #define SCOREFILE_EXTENSION "score" @@ -758,6 +802,11 @@ struct ProgramInfo char *(*window_title_function)(void); void (*exit_message_function)(char *, va_list); void (*exit_function)(int); + + boolean global_scores; + boolean many_scores_per_name; + + boolean headless; }; struct OptionInfo @@ -777,6 +826,7 @@ struct OptionInfo char *special_flags; + boolean mytapes; boolean serveronly; boolean network; boolean verbose; @@ -788,6 +838,9 @@ struct VideoSystemInfo int default_depth; int width, height, depth; int window_width, window_height; + int display_width, display_height; + int screen_width, screen_height; + int screen_xoffset, screen_yoffset; boolean fullscreen_available; boolean fullscreen_enabled; @@ -907,6 +960,11 @@ struct GfxInfo int cursor_mode; }; +struct OverlayInfo +{ + boolean active; +}; + struct JoystickInfo { int status; @@ -954,6 +1012,8 @@ struct SetupEditorInfo boolean el_dx_boulderdash; boolean el_chars; boolean el_steel_chars; + + boolean el_classic; boolean el_custom; boolean el_user_defined; boolean el_dynamic; @@ -964,6 +1024,8 @@ struct SetupEditorInfo boolean el_by_type; boolean show_element_token; + + boolean use_template_for_new_levels; }; struct SetupEditorCascadeInfo @@ -1073,6 +1135,7 @@ struct SetupInfo boolean team_mode; boolean handicap; boolean skip_levels; + boolean increment_levels; boolean time_limit; boolean fullscreen; int window_scaling_percent; @@ -1370,6 +1433,7 @@ extern struct OptionInfo options; extern struct VideoSystemInfo video; extern struct AudioSystemInfo audio; extern struct GfxInfo gfx; +extern struct OverlayInfo overlay; extern struct AnimInfo anim; extern struct ArtworkInfo artwork; extern struct JoystickInfo joystick; @@ -1403,6 +1467,7 @@ extern int FrameCounter; void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *, int); +void InitScoresInfo(); void SetWindowTitle(); void InitWindowTitleFunction(char *(*window_title_function)(void)); @@ -1424,6 +1489,9 @@ void InitGfxDrawGlobalAnimFunction(void (*draw_global_anim_function)(int, int)); void InitGfxDrawGlobalBorderFunction(void (*draw_global_border_function)(int)); void InitGfxCustomArtworkInfo(); void InitGfxOtherSettings(); +void InitOverlayInfo(); +void SetOverlayActive(boolean); +boolean GetOverlayActive(); void SetDrawDeactivationMask(int); void SetDrawBackgroundMask(int); void SetWindowBackgroundBitmap(Bitmap *);