X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=6580d083b37f3cafa6fe87a7e1a2ad64e86feb5c;hb=959794cfda1f83edc51512211ae5a9f6b1e0b179;hp=b74b6fae17165e376d7da80d6a22a8752e0fc7c2;hpb=f6513d7bc5806904a55708a2ddb6673842e933bd;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index b74b6fae..6580d083 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -22,8 +22,6 @@ #include "macosx.h" #elif defined(PLATFORM_WIN32) #include "windows.h" -#elif defined(PLATFORM_MSDOS) -#include "msdos.h" #elif defined(PLATFORM_ANDROID) #include "android.h" #endif @@ -67,6 +65,16 @@ #define SCALING_QUALITY_DEFAULT SCALING_QUALITY_LINEAR +/* values for touch control */ +#define TOUCH_CONTROL_VIRTUAL_BUTTONS "virtual_buttons" +#define TOUCH_CONTROL_WIPE_GESTURES "wipe_gestures" + +#define TOUCH_CONTROL_DEFAULT TOUCH_CONTROL_VIRTUAL_BUTTONS + +#define TOUCH_MOVE_DISTANCE_DEFAULT 2 +#define TOUCH_DROP_DISTANCE_DEFAULT 5 + + /* default input keys */ #define DEFAULT_KEY_LEFT KSYM_Left #define DEFAULT_KEY_RIGHT KSYM_Right @@ -378,7 +386,10 @@ /* default values for undefined configuration file parameters */ #define ARG_UNDEFINED "-1000000" -#define ARG_UNDEFINED_VALUE (atoi(ARG_UNDEFINED)) +#define ARG_UNDEFINED_VALUE (-1000000) + +/* default value for off-screen positions */ +#define POS_OFFSCREEN (-1000000) /* definitions for game sub-directories */ #ifndef RO_GAME_DIR @@ -402,15 +413,9 @@ #define DOCS_DIRECTORY "docs" #define CACHE_DIRECTORY "cache" -#if !defined(PLATFORM_MSDOS) #define GFX_CLASSIC_SUBDIR "gfx_classic" #define SND_CLASSIC_SUBDIR "snd_classic" #define MUS_CLASSIC_SUBDIR "mus_classic" -#else -#define GFX_CLASSIC_SUBDIR "gfx_orig" -#define SND_CLASSIC_SUBDIR "snd_orig" -#define MUS_CLASSIC_SUBDIR "mus_orig" -#endif #if defined(CREATE_SPECIAL_EDITION_RND_JUE) #define GFX_DEFAULT_SUBDIR "jue0" @@ -429,7 +434,6 @@ #endif /* file names and filename extensions */ -#if !defined(PLATFORM_MSDOS) #define LEVELSETUP_DIRECTORY "levelsetup" #define SETUP_FILENAME "setup.conf" #define LEVELSETUP_FILENAME "levelsetup.conf" @@ -445,23 +449,6 @@ #define LEVELFILE_EXTENSION "level" #define TAPEFILE_EXTENSION "tape" #define SCOREFILE_EXTENSION "score" -#else -#define LEVELSETUP_DIRECTORY "lvlsetup" -#define SETUP_FILENAME "setup.cnf" -#define LEVELSETUP_FILENAME "lvlsetup.cnf" -#define EDITORSETUP_FILENAME "edsetup.cnf" -#define EDITORCASCADE_FILENAME "edcascad.conf" -#define HELPANIM_FILENAME "helpanim.cnf" -#define HELPTEXT_FILENAME "helptext.cnf" -#define LEVELINFO_FILENAME "lvlinfo.cnf" -#define GRAPHICSINFO_FILENAME "gfxinfo.cnf" -#define SOUNDSINFO_FILENAME "sndinfo.cnf" -#define MUSICINFO_FILENAME "musinfo.cnf" -#define ARTWORKINFO_CACHE_FILE "artinfo.cac" -#define LEVELFILE_EXTENSION "lvl" -#define TAPEFILE_EXTENSION "tap" -#define SCOREFILE_EXTENSION "sco" -#endif #define ERROR_BASENAME "stderr.txt" @@ -474,7 +461,7 @@ #define STRING_NEWLINE_UNIX "\n" #define STRING_NEWLINE_DOS "\r\n" -#if defined(PLATFORM_WIN32) || defined(PLATFORM_MSDOS) +#if defined(PLATFORM_WIN32) #define CHAR_PATH_SEPARATOR CHAR_PATH_SEPARATOR_DOS #define STRING_PATH_SEPARATOR STRING_PATH_SEPARATOR_DOS #define STRING_NEWLINE STRING_NEWLINE_DOS @@ -696,7 +683,6 @@ struct ProgramInfo char *x11_icon_filename; char *x11_iconmask_filename; char *sdl_icon_filename; - char *msdos_cursor_filename; char *cookie_prefix; char *filename_prefix; /* prefix to cut off from DOS filenames */ @@ -708,6 +694,7 @@ struct ProgramInfo int version_minor; int version_patch; + char *(*window_title_function)(void); void (*exit_message_function)(char *, va_list); void (*exit_function)(int); }; @@ -864,6 +851,13 @@ struct SetupKeyboardInfo Key snap, drop; }; +struct SetupTouchInfo +{ + char *control_type; + int move_distance; + int drop_distance; +}; + struct SetupInputInfo { boolean use_joystick; @@ -995,6 +989,7 @@ struct SetupInfo struct SetupEditorCascadeInfo editor_cascade; struct SetupShortcutInfo shortcut; struct SetupInputInfo input[MAX_PLAYERS]; + struct SetupTouchInfo touch; struct SetupSystemInfo system; struct OptionInfo options; }; @@ -1285,9 +1280,17 @@ extern int FrameCounter; /* function definitions */ +#if 1 +void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *, + char *, char *, char *, int); +#else void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *, char *, char *, char *, char *, char *, int); +#endif + +void SetWindowTitle(); +void InitWindowTitleFunction(char *(*window_title_function)(void)); void InitExitMessageFunction(void (*exit_message_function)(char *, va_list)); void InitExitFunction(void (*exit_function)(int)); void InitPlatformDependentStuff(void);