X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=1357db711ec600a931715f596bb09f0635a8f464;hb=b7282fd678d6f5c7ebf6a12062eb391129a800a7;hp=835e8f4121fc5dd32b08f51fc72bd8d14efb8938;hpb=f6477461020eebe6489d4997ac973c985d82e4aa;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 835e8f41..1357db71 100644 --- a/src/main.h +++ b/src/main.h @@ -31,6 +31,7 @@ #include "conf_mus.h" /* include auto-generated data structure definitions */ +#define NEW_GAME_TILESIZE 1 #define NEW_TILESIZE 1 #define NEW_SCROLL 1 @@ -1008,12 +1009,16 @@ #define FYSIZE ((SCR_FIELDY + 2) * TILEY) #endif #endif + +#if 0 #define DXSIZE 100 #define DYSIZE 280 #define VXSIZE DXSIZE #define VYSIZE 100 #define EXSIZE DXSIZE #define EYSIZE (VYSIZE + 44) +#endif + #if 0 #define FULL_SXSIZE (2 + SXSIZE + 2) #define FULL_SYSIZE (2 + SYSIZE + 2) @@ -1894,16 +1899,17 @@ #define GFX_SPECIAL_ARG_SETUP_SOUND 4 #define GFX_SPECIAL_ARG_SETUP_ARTWORK 5 #define GFX_SPECIAL_ARG_SETUP_INPUT 6 -#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS 7 -#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_1 8 -#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_2 9 -#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_3 10 -#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_4 11 -#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_5 12 -#define GFX_SPECIAL_ARG_SETUP_CHOOSE_ARTWORK 13 -#define GFX_SPECIAL_ARG_SETUP_CHOOSE_OTHER 14 +#define GFX_SPECIAL_ARG_SETUP_TOUCH 7 +#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS 8 +#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_1 9 +#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_2 10 +#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_3 11 +#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_4 12 +#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_5 13 +#define GFX_SPECIAL_ARG_SETUP_CHOOSE_ARTWORK 14 +#define GFX_SPECIAL_ARG_SETUP_CHOOSE_OTHER 15 -#define NUM_SPECIAL_GFX_SETUP_ARGS 15 +#define NUM_SPECIAL_GFX_SETUP_ARGS 16 /* values for image configuration suffixes */ @@ -1945,22 +1951,23 @@ #define GFX_ARG_POST_DELAY_RANDOM 35 #define GFX_ARG_NAME 36 #define GFX_ARG_SCALE_UP_FACTOR 37 -#define GFX_ARG_CLONE_FROM 38 -#define GFX_ARG_FADE_MODE 39 -#define GFX_ARG_FADE_DELAY 40 -#define GFX_ARG_POST_DELAY 41 -#define GFX_ARG_AUTO_DELAY 42 -#define GFX_ARG_ALIGN 43 -#define GFX_ARG_VALIGN 44 -#define GFX_ARG_SORT_PRIORITY 45 -#define GFX_ARG_CLASS 46 -#define GFX_ARG_STYLE 47 -#define GFX_ARG_ACTIVE_XOFFSET 48 -#define GFX_ARG_ACTIVE_YOFFSET 49 -#define GFX_ARG_PRESSED_XOFFSET 50 -#define GFX_ARG_PRESSED_YOFFSET 51 - -#define NUM_GFX_ARGS 52 +#define GFX_ARG_TILE_SIZE 38 +#define GFX_ARG_CLONE_FROM 39 +#define GFX_ARG_FADE_MODE 40 +#define GFX_ARG_FADE_DELAY 41 +#define GFX_ARG_POST_DELAY 42 +#define GFX_ARG_AUTO_DELAY 43 +#define GFX_ARG_ALIGN 44 +#define GFX_ARG_VALIGN 45 +#define GFX_ARG_SORT_PRIORITY 46 +#define GFX_ARG_CLASS 47 +#define GFX_ARG_STYLE 48 +#define GFX_ARG_ACTIVE_XOFFSET 49 +#define GFX_ARG_ACTIVE_YOFFSET 50 +#define GFX_ARG_PRESSED_XOFFSET 51 +#define GFX_ARG_PRESSED_YOFFSET 52 + +#define NUM_GFX_ARGS 53 /* values for sound configuration suffixes */ @@ -2067,10 +2074,10 @@ /* program information and versioning definitions */ -#define PROGRAM_VERSION_MAJOR 3 -#define PROGRAM_VERSION_MINOR 3 -#define PROGRAM_VERSION_PATCH 1 -#define PROGRAM_VERSION_BUILD 3 +#define PROGRAM_VERSION_MAJOR 4 +#define PROGRAM_VERSION_MINOR 0 +#define PROGRAM_VERSION_PATCH 0 +#define PROGRAM_VERSION_BUILD 0 #define PROGRAM_TITLE_STRING "Rocks'n'Diamonds" #define PROGRAM_AUTHOR_STRING "Holger Schemel" @@ -2089,12 +2096,11 @@ #define ICON_TITLE_STRING PROGRAM_TITLE_STRING #define COOKIE_PREFIX "ROCKSNDIAMONDS" -#define FILENAME_PREFIX "Rocks" #define USERDATA_DIRECTORY_WIN32 PROGRAM_TITLE_STRING #define USERDATA_DIRECTORY_MACOSX PROGRAM_TITLE_STRING #define USERDATA_DIRECTORY_UNIX PROGRAM_UNIX_DATADIR_STRING -#define USERDATA_DIRECTORY_DOS "userdata" +#define USERDATA_DIRECTORY_OTHER "userdata" #if defined(PLATFORM_WIN32) #define USERDATA_DIRECTORY USERDATA_DIRECTORY_WIN32 @@ -2103,13 +2109,10 @@ #elif defined(PLATFORM_UNIX) #define USERDATA_DIRECTORY USERDATA_DIRECTORY_UNIX #else -#define USERDATA_DIRECTORY USERDATA_DIRECTORY_DOS +#define USERDATA_DIRECTORY USERDATA_DIRECTORY_OTHER #endif -#define X11_ICON_FILENAME "rocks_icon.xbm" -#define X11_ICONMASK_FILENAME "rocks_iconmask.xbm" #define SDL_ICON_FILENAME "RocksIcon32x32.png" -#define MSDOS_POINTER_FILENAME "mouse.pcx" /* file version numbers for resource files (levels, tapes, score, setup, etc.) ** currently supported/known file version numbers: @@ -2296,7 +2299,19 @@ struct MenuInfo struct DoorInfo { - int width, height; + struct DoorPartPosInfo part_1; + struct DoorPartPosInfo part_2; + struct DoorPartPosInfo part_3; + struct DoorPartPosInfo part_4; + struct DoorPartPosInfo part_5; + struct DoorPartPosInfo part_6; + struct DoorPartPosInfo part_7; + struct DoorPartPosInfo part_8; + + struct DoorPartPosInfo panel; + + int width; + int height; int step_offset; int step_delay; int anim_mode; @@ -2312,6 +2327,9 @@ struct RequestInfo int step_offset; int step_delay; int anim_mode; + boolean autowrap; + boolean centered; + boolean wrap_single_words; }; struct PreviewInfo @@ -2326,6 +2344,21 @@ struct PreviewInfo int anim_mode; }; +struct EditorPaletteInfo +{ + int x, y; + int cols, rows; + + struct XY element_left; + struct XY element_middle; + struct XY element_right; +}; + +struct EditorInfo +{ + struct EditorPaletteInfo palette; +}; + struct ViewportInfo { struct RectWithBorder window; @@ -2761,6 +2794,7 @@ struct GraphicInfo int border_size; /* border size for "crumbled" graphics */ int scale_up_factor; /* optional factor for scaling image up */ + int tile_size; /* optional explicitly defined tile size */ int clone_from; /* graphic for cloning *all* settings */ @@ -2793,11 +2827,6 @@ struct GraphicInfo int pressed_yoffset; boolean use_image_size; /* use image size as default width and height */ - -#if defined(TARGET_X11_NATIVE_PERFORMANCE_WORKAROUND) - Pixmap clip_mask; /* single-graphic-only clip mask for X11 */ - GC clip_gc; /* single-graphic-only clip gc for X11 */ -#endif }; struct SoundInfo @@ -2872,7 +2901,11 @@ extern Bitmap *bitmap_db_store; extern Bitmap *bitmap_db_cross; extern Bitmap *bitmap_db_field; extern Bitmap *bitmap_db_panel; +#if 0 extern Bitmap *bitmap_db_door; +#endif +extern Bitmap *bitmap_db_door_1; +extern Bitmap *bitmap_db_door_2; extern Bitmap *bitmap_db_toons; extern Pixmap tile_clipmask[]; extern DrawBuffer *fieldbuffer; @@ -2944,14 +2977,17 @@ extern int scroll_x, scroll_y; extern int WIN_XSIZE, WIN_YSIZE; extern int SCR_FIELDX, SCR_FIELDY; -extern int SX, SY; extern int REAL_SX, REAL_SY; +extern int SX, SY; extern int DX, DY; extern int VX, VY; extern int EX, EY; extern int dDX, dDY; -extern int SXSIZE, SYSIZE; extern int FULL_SXSIZE, FULL_SYSIZE; +extern int SXSIZE, SYSIZE; +extern int DXSIZE, DYSIZE; +extern int VXSIZE, VYSIZE; +extern int EXSIZE, EYSIZE; extern int TILESIZE_VAR; extern int FX, FY; @@ -2995,6 +3031,7 @@ extern struct MenuInfo menu; extern struct DoorInfo door_1, door_2; extern struct RequestInfo request; extern struct PreviewInfo preview; +extern struct EditorInfo editor; extern struct ElementInfo element_info[]; extern struct ElementNameInfo element_name_info[]; extern struct ElementActionInfo element_action_info[];