X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=37fcb08bc6ca75734a5f16832f52554813a55bc7;hb=14089dac2cbe56e563863e1e5adb8847944fd262;hp=9e0595fe799d5432e8bd855167aec3880d80798b;hpb=75ebfce89c39bc740367807c4c16f469135ba6d5;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 9e0595fe..37fcb08b 100644 --- a/src/main.h +++ b/src/main.h @@ -30,9 +30,10 @@ #include "conf_gfx.h" #include "conf_snd.h" -#define IMG_EMPTY IMG_EMPTY_SPACE -#define IMG_SP_EMPTY IMG_SP_EMPTY_SPACE -#define IMG_CHAR_START IMG_CHAR_SPACE +#define IMG_EMPTY IMG_EMPTY_SPACE +#define IMG_SP_EMPTY IMG_SP_EMPTY_SPACE +#define IMG_CHAR_START IMG_CHAR_SPACE +#define IMG_CUSTOM_START IMG_CUSTOM_0 #define WIN_XSIZE 672 #define WIN_YSIZE 560 @@ -261,7 +262,7 @@ #define VXSIZE DXSIZE #define VYSIZE 100 #define EXSIZE DXSIZE -#define EYSIZE (VXSIZE + 44) +#define EYSIZE (VYSIZE + 44) #define FULL_SXSIZE (2 + SXSIZE + 2) #define FULL_SYSIZE (2 + SYSIZE + 2) #define MICROLEV_XSIZE ((STD_LEV_FIELDX + 2) * MICRO_TILEX) @@ -449,6 +450,7 @@ #define EL_CHAR_START 120 #define EL_CHAR_ASCII0 (EL_CHAR_START - 32) +#define EL_CHAR_ASCII0_START (EL_CHAR_ASCII0 + 32) #define EL_CHAR_EXCLAM (EL_CHAR_ASCII0 + 33) #define EL_CHAR_QUOTEDBL (EL_CHAR_ASCII0 + 34) #define EL_CHAR_NUMBERSIGN (EL_CHAR_ASCII0 + 35) @@ -479,11 +481,22 @@ #define EL_CHAR_OE (EL_CHAR_ASCII0 + 92) #define EL_CHAR_UE (EL_CHAR_ASCII0 + 93) #define EL_CHAR_COPYRIGHT (EL_CHAR_ASCII0 + 94) +#define EL_CHAR_UNDERSCORE (EL_CHAR_ASCII0 + 95) +#define EL_CHAR_EMPTY (EL_CHAR_ASCII0 + 96) +#define EL_CHAR_DEGREE (EL_CHAR_ASCII0 + 97) +#define EL_CHAR_TM (EL_CHAR_ASCII0 + 98) +#define EL_CHAR_CURSOR (EL_CHAR_ASCII0 + 99) +#define EL_CHAR_ASCII0_END (EL_CHAR_ASCII0 + 111) #define EL_CHAR_END (EL_CHAR_START + 79) -#define EL_CHAR(x) ((x) == 'Ä' ? EL_CHAR_AE : \ - (x) == 'Ö' ? EL_CHAR_OE : \ - (x) == 'Ü' ? EL_CHAR_UE : \ +#define EL_CHAR(x) ((x) == 'Ä' ? EL_CHAR_AE : \ + (x) == 'Ö' ? EL_CHAR_OE : \ + (x) == 'Ü' ? EL_CHAR_UE : \ + (x) == '^' ? EL_CHAR_COPYRIGHT : \ + (x) == '_' ? EL_CHAR_UNDERSCORE : \ + (x) == '°' ? EL_CHAR_DEGREE : \ + (x) == '´' ? EL_CHAR_TM : \ + (x) == '|' ? EL_CHAR_CURSOR : \ EL_CHAR_A + (x) - 'A') #define EL_WALL_GROWING_X 200 @@ -661,7 +674,15 @@ #define EL_TRAP 356 #define EL_DX_SUPABOMB 357 -#define NUM_FILE_ELEMENTS 358 +#define EL_UNUSED_358 358 +#define EL_UNUSED_359 359 + +#define EL_CUSTOM_START 360 +#define EL_CUSTOM_0 (EL_CUSTOM_START + 0) +#define EL_CUSTOM_31 (EL_CUSTOM_START + 127) +#define EL_CUSTOM_END (EL_CUSTOM_START + 127) + +#define NUM_FILE_ELEMENTS 488 /* "real" (and therefore drawable) runtime elements */ @@ -1370,17 +1391,22 @@ #define GFX_ARG_YPOS 1 #define GFX_ARG_OFFSET 2 #define GFX_ARG_VERTICAL 3 -#define GFX_ARG_FRAMES 4 -#define GFX_ARG_START_FRAME 5 -#define GFX_ARG_DELAY 6 -#define GFX_ARG_MODE_LOOP 7 -#define GFX_ARG_MODE_LINEAR 8 -#define GFX_ARG_MODE_PINGPONG 9 -#define GFX_ARG_MODE_PINGPONG2 10 -#define GFX_ARG_MODE_REVERSE 11 -#define GFX_ARG_GLOBAL_SYNC 12 +#define GFX_ARG_XOFFSET 4 +#define GFX_ARG_YOFFSET 5 +#define GFX_ARG_FRAMES 6 +#define GFX_ARG_START_FRAME 7 +#define GFX_ARG_DELAY 8 +#define GFX_ARG_MODE_LOOP 9 +#define GFX_ARG_MODE_LINEAR 10 +#define GFX_ARG_MODE_PINGPONG 11 +#define GFX_ARG_MODE_PINGPONG2 12 +#define GFX_ARG_MODE_REVERSE 13 +#define GFX_ARG_GLOBAL_SYNC 14 + +#define NUM_GFX_ARGS 15 -#define NUM_GFX_ARGS 13 +#define GFX_ARG_UNDEFINED "-1000000" +#define GFX_ARG_UNDEFINED_VALUE (atoi(GFX_ARG_UNDEFINED)) /* values for sound configuration suffixes */ @@ -1399,9 +1425,9 @@ #define SETUP 8 #define PROGRAM_VERSION_MAJOR 2 -#define PROGRAM_VERSION_MINOR 1 -#define PROGRAM_VERSION_PATCH 2 -#define PROGRAM_VERSION_STRING "2.1.2" +#define PROGRAM_VERSION_MINOR 2 +#define PROGRAM_VERSION_PATCH 0 +#define PROGRAM_VERSION_STRING "2.2.0rc2" #define PROGRAM_TITLE_STRING "Rocks'n'Diamonds" #define PROGRAM_AUTHOR_STRING "Holger Schemel" @@ -1533,6 +1559,8 @@ struct LevelInfo boolean double_speed; boolean gravity; boolean em_slippery_gems; /* EM style "gems slip from wall" behaviour */ + + boolean no_level_file; }; struct TapeInfo @@ -1552,6 +1580,8 @@ struct TapeInfo boolean recording, playing, pausing; boolean fast_forward; boolean index_search; + boolean auto_play; + boolean auto_play_level_solved; boolean quick_resume; boolean single_step; boolean changed; @@ -1588,6 +1618,9 @@ struct GameInfo struct GlobalInfo { + char *autoplay_leveldir; + int autoplay_level_nr; + float frames_per_second; boolean fps_slowdown; int fps_slowdown_factor; @@ -1621,10 +1654,17 @@ struct NewGraphicInfo int anim_delay; /* important: delay of 1 means "no delay"! */ int anim_mode; boolean anim_global_sync; + +#if defined(TARGET_X11_NATIVE) + Pixmap clip_mask; /* single-graphic-only clip mask for X11 */ + GC clip_gc; /* single-graphic-only clip gc for X11 */ +#endif }; extern GC tile_clip_gc; +#if 0 extern Bitmap *pix[]; +#endif extern Bitmap *bitmap_db_field, *bitmap_db_door; extern Pixmap tile_clipmask[]; extern DrawBuffer *fieldbuffer;