X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=b81abcb12d261e95b7a0e62c6e2a2877a98f9520;hb=bbe75d04a9fc20a80073e7f2c8d95ee1341a143f;hp=f4c5cc3920b0de4ce72e7cb0a396fd5d5f5548da;hpb=7119b5d2e756b1ab23818ea39d19aece0563bab0;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index f4c5cc39..b81abcb1 100644 --- a/src/main.h +++ b/src/main.h @@ -27,8 +27,8 @@ #include "libgame/libgame.h" -#include "conf_gfx.h" -#include "conf_snd.h" +#include "conf_gfx.h" /* include auto-generated data structure definitions */ +#include "conf_snd.h" /* include auto-generated data structure definitions */ #define IMG_UNDEFINED (-1) #define IMG_EMPTY IMG_EMPTY_SPACE @@ -66,7 +66,7 @@ #define EP_BIT_SCHLUESSEL (1 << 2) #define EP_BIT_PFORTE (1 << 3) #define EP_BIT_SOLID (1 << 4) -#define EP_BIT_MASSIVE (1 << 5) +#define EP_BIT_INDESTRUCTIBLE (1 << 5) #define EP_BIT_SLIPPERY (1 << 6) #define EP_BIT_ENEMY (1 << 7) #define EP_BIT_MAUER (1 << 8) @@ -108,7 +108,7 @@ #define IS_SCHLUESSEL(e) (Properties1[e] & EP_BIT_SCHLUESSEL) #define IS_PFORTE(e) (Properties1[e] & EP_BIT_PFORTE) #define IS_SOLID(e) (Properties1[e] & EP_BIT_SOLID) -#define IS_MASSIVE(e) (Properties1[e] & EP_BIT_MASSIVE) +#define IS_INDESTRUCTIBLE(e) (Properties1[e] & EP_BIT_INDESTRUCTIBLE) #define IS_SLIPPERY(e) (Properties1[e] & EP_BIT_SLIPPERY) #define IS_ENEMY(e) (Properties1[e] & EP_BIT_ENEMY) #define IS_MAUER(e) (Properties1[e] & EP_BIT_MAUER) @@ -420,10 +420,10 @@ #define EL_MOLE 110 #define EL_PENGUIN 111 #define EL_SATELLITE 112 -#define EL_ARROW_BLUE_LEFT 113 -#define EL_ARROW_BLUE_RIGHT 114 -#define EL_ARROW_BLUE_UP 115 -#define EL_ARROW_BLUE_DOWN 116 +#define EL_ARROW_LEFT 113 +#define EL_ARROW_RIGHT 114 +#define EL_ARROW_UP 115 +#define EL_ARROW_DOWN 116 #define EL_PIG 117 #define EL_DRAGON 118 @@ -432,41 +432,9 @@ #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) -#define EL_CHAR_DOLLAR (EL_CHAR_ASCII0 + 36) -#define EL_CHAR_PROCENT (EL_CHAR_ASCII0 + 37) -#define EL_CHAR_AMPERSAND (EL_CHAR_ASCII0 + 38) -#define EL_CHAR_APOSTROPHE (EL_CHAR_ASCII0 + 39) -#define EL_CHAR_PARENLEFT (EL_CHAR_ASCII0 + 40) -#define EL_CHAR_PARENRIGHT (EL_CHAR_ASCII0 + 41) -#define EL_CHAR_ASTERISK (EL_CHAR_ASCII0 + 42) -#define EL_CHAR_PLUS (EL_CHAR_ASCII0 + 43) -#define EL_CHAR_COMMA (EL_CHAR_ASCII0 + 44) -#define EL_CHAR_MINUS (EL_CHAR_ASCII0 + 45) -#define EL_CHAR_PERIOD (EL_CHAR_ASCII0 + 46) -#define EL_CHAR_SLASH (EL_CHAR_ASCII0 + 47) -#define EL_CHAR_0 (EL_CHAR_ASCII0 + 48) -#define EL_CHAR_9 (EL_CHAR_ASCII0 + 57) -#define EL_CHAR_COLON (EL_CHAR_ASCII0 + 58) -#define EL_CHAR_SEMICOLON (EL_CHAR_ASCII0 + 59) -#define EL_CHAR_LESS (EL_CHAR_ASCII0 + 60) -#define EL_CHAR_EQUAL (EL_CHAR_ASCII0 + 61) -#define EL_CHAR_GREATER (EL_CHAR_ASCII0 + 62) -#define EL_CHAR_QUESTION (EL_CHAR_ASCII0 + 63) -#define EL_CHAR_AT (EL_CHAR_ASCII0 + 64) -#define EL_CHAR_A (EL_CHAR_ASCII0 + 65) -#define EL_CHAR_Z (EL_CHAR_ASCII0 + 90) -#define EL_CHAR_AE (EL_CHAR_ASCII0 + 91) -#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) + +#include "conf_chr.h" /* include auto-generated data structure definitions */ + #define EL_CHAR_ASCII0_END (EL_CHAR_ASCII0 + 111) #define EL_CHAR_END (EL_CHAR_START + 79) @@ -659,8 +627,9 @@ #define EL_UNUSED_359 359 #define EL_CUSTOM_START 360 -#define EL_CUSTOM_1 (EL_CUSTOM_START + 0) -#define EL_CUSTOM_128 (EL_CUSTOM_START + 127) + +#include "conf_cus.h" /* include auto-generated data structure definitions */ + #define EL_CUSTOM_END (EL_CUSTOM_START + 127) #define NUM_CUSTOM_ELEMENTS 128 @@ -752,12 +721,8 @@ #define EL_DYNABOMB_ACTIVE (EL_FIRST_DUMMY + 13) #define EL_SHIELD_NORMAL_ACTIVE (EL_FIRST_DUMMY + 14) #define EL_SHIELD_DEADLY_ACTIVE (EL_FIRST_DUMMY + 15) -#define EL_ARROW_RED_LEFT (EL_FIRST_DUMMY + 16) -#define EL_ARROW_RED_RIGHT (EL_FIRST_DUMMY + 17) -#define EL_ARROW_RED_UP (EL_FIRST_DUMMY + 18) -#define EL_ARROW_RED_DOWN (EL_FIRST_DUMMY + 19) -#define MAX_NUM_ELEMENTS (EL_FIRST_DUMMY + 20) +#define MAX_NUM_ELEMENTS (EL_FIRST_DUMMY + 16) /* values for graphics/sounds action types */ @@ -815,8 +780,13 @@ #define GFX_ARG_GLOBAL_SYNC 19 #define GFX_ARG_STEP_OFFSET 20 #define GFX_ARG_STEP_DELAY 21 +#define GFX_ARG_DIRECTION 22 +#define GFX_ARG_POSITION 23 +#define GFX_ARG_DRAW_XOFFSET 24 +#define GFX_ARG_DRAW_YOFFSET 25 +#define GFX_ARG_NAME 26 -#define NUM_GFX_ARGS 22 +#define NUM_GFX_ARGS 27 /* values for sound configuration suffixes */ @@ -825,6 +795,16 @@ #define NUM_SND_ARGS 1 +/* values for font configuration */ + +#define FIRST_IMG_FONT IMG_FONT_INITIAL_1 +#define LAST_IMG_FONT IMG_FONT_NARROW + +#define NUM_IMG_FONTS (LAST_IMG_FONT - \ + FIRST_IMG_FONT + 1) +#define NUM_INITIAL_FONTS 4 + + /* values for game_status */ #define EXITGAME 0 #define MAINMENU 1 @@ -839,7 +819,7 @@ #define PROGRAM_VERSION_MAJOR 2 #define PROGRAM_VERSION_MINOR 2 #define PROGRAM_VERSION_PATCH 0 -#define PROGRAM_VERSION_STRING "2.2.0rc3" +#define PROGRAM_VERSION_STRING "2.2.0rc4" #define PROGRAM_TITLE_STRING "Rocks'n'Diamonds" #define PROGRAM_AUTHOR_STRING "Holger Schemel" @@ -914,13 +894,20 @@ struct PlayerInfo int MovDir, MovPos, GfxPos; int Frame; + int GfxAction; + + boolean use_murphy_graphic; + boolean Pushing; boolean Switching; boolean LevelSolved, GameOver; boolean snapped; int last_move_dir; - int is_moving; + boolean is_moving; + + boolean is_digging; + boolean is_waiting; unsigned long move_delay; int move_delay_value; @@ -928,8 +915,6 @@ struct PlayerInfo unsigned long push_delay; unsigned long push_delay_value; - int frame_reset_delay; - unsigned long actual_frame_counter; int score; @@ -1033,6 +1018,8 @@ struct GlobalInfo char *autoplay_leveldir; int autoplay_level_nr; + int num_toons; + float frames_per_second; boolean fps_slowdown; int fps_slowdown_factor; @@ -1066,9 +1053,12 @@ struct GraphicInfo int anim_delay; /* important: delay of 1 means "no delay"! */ int anim_mode; boolean anim_global_sync; + int step_offset; /* optional step offset of toon animations */ int step_delay; /* optional step delay of toon animations */ + int draw_x, draw_y; /* optional offset for drawing fonts chars */ + #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 */