X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=76be4a459f3c0445c4b6fddd3f36ad1b7ca64a78;hb=8e5671db64b55432158b1d43d7fd2e684544ebeb;hp=68ad89ca303d0a240c3c656f0e3d25204e26c355;hpb=c42450df0ac6ff7b6db97bf0df12b9c73055c727;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 68ad89ca..76be4a45 100644 --- a/src/main.h +++ b/src/main.h @@ -173,13 +173,13 @@ #define CE_OTHER_GETS_PUSHED 13 #define CE_OTHER_GETS_COLLECTED 14 #define CE_OTHER_GETS_DROPPED 15 +#define CE_BY_PLAYER 16 /* obsolete; map'd to CE_BY_DIRECT_ACTION */ +#define CE_BY_COLLISION 17 /* obsolete; map'd to CE_BY_DIRECT_ACTION */ +#define CE_BY_OTHER_ACTION 18 /* activates other element events */ +#define CE_BY_DIRECT_ACTION 19 /* activates direct element events */ +#define CE_OTHER_GETS_DIGGED 20 -/* values for activating change events (also stored in level file!) */ -#define CE_BY_PLAYER 16 -#define CE_BY_COLLISION 17 -#define CE_BY_OTHER 18 - -#define NUM_CHANGE_EVENTS 19 +#define NUM_CHANGE_EVENTS 21 #define CE_BITMASK_DEFAULT 0 @@ -922,15 +922,17 @@ #define GFX_ARG_GLOBAL_SYNC 15 #define GFX_ARG_CRUMBLED_LIKE 16 #define GFX_ARG_DIGGABLE_LIKE 17 -#define GFX_ARG_STEP_OFFSET 18 -#define GFX_ARG_STEP_DELAY 19 -#define GFX_ARG_DIRECTION 20 -#define GFX_ARG_POSITION 21 -#define GFX_ARG_DRAW_XOFFSET 22 -#define GFX_ARG_DRAW_YOFFSET 23 -#define GFX_ARG_NAME 24 +#define GFX_ARG_BORDER_SIZE 18 +#define GFX_ARG_STEP_OFFSET 19 +#define GFX_ARG_STEP_DELAY 20 +#define GFX_ARG_DIRECTION 21 +#define GFX_ARG_POSITION 22 +#define GFX_ARG_DRAW_XOFFSET 23 +#define GFX_ARG_DRAW_YOFFSET 24 +#define GFX_ARG_DRAW_MASKED 25 +#define GFX_ARG_NAME 26 -#define NUM_GFX_ARGS 25 +#define NUM_GFX_ARGS 27 /* values for sound configuration suffixes */ @@ -1266,9 +1268,8 @@ struct ElementChangeInfo /* ---------- internal values used in level editor ---------- */ - int player_action; /* touched/pressed/pushed by player */ - int collide_action; /* collision/impact/smashed */ - int other_action; /* various change actions */ + int direct_action; /* change triggered by actions on element */ + int other_action; /* change triggered by other element actions */ }; struct ElementInfo @@ -1371,12 +1372,15 @@ struct GraphicInfo boolean anim_global_sync; int crumbled_like; /* element for cloning crumble graphics */ int diggable_like; /* element for cloning digging graphics */ + int border_size; /* border size for "crumbled" graphics */ 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 */ + int draw_masked; /* optional setting for drawing envelope gfx */ + #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 */ @@ -1437,7 +1441,7 @@ extern short StorePlayer[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short Back[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern boolean Stop[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern boolean Pushed[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; -extern boolean Changing[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +extern boolean Changed[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short JustStopped[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short AmoebaCnt[MAX_NUM_AMOEBA];