X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=ae2aa5d0e5df5aba5b23e00bf499c4d5653aa0d7;hb=0ae305660baec1a7568ac7df7f296b695904d59a;hp=85f1fc0e7b2a114b9d93addf221e8435f0cd755b;hpb=df11f4a529251a285f3a33946da81623044fef3f;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 85f1fc0e..ae2aa5d0 100644 --- a/src/main.h +++ b/src/main.h @@ -135,13 +135,14 @@ #define EP_CAN_SMASH 69 #define EP_CAN_EXPLODE 70 #define EP_CAN_EXPLODE_3X3 71 +#define EP_SP_PORT 72 /* values for internal purpose only (level editor) */ -#define EP_EXPLODE_RESULT 72 -#define EP_WALK_TO_OBJECT 73 -#define EP_DEADLY 74 +#define EP_EXPLODE_RESULT 73 +#define EP_WALK_TO_OBJECT 74 +#define EP_DEADLY 75 -#define NUM_ELEMENT_PROPERTIES 75 +#define NUM_ELEMENT_PROPERTIES 76 #define NUM_EP_BITFIELDS ((NUM_ELEMENT_PROPERTIES + 31) / 32) #define EP_BITFIELD_BASE 0 @@ -345,6 +346,7 @@ #define CAN_SMASH(e) HAS_PROPERTY(e, EP_CAN_SMASH) #define CAN_EXPLODE(e) HAS_PROPERTY(e, EP_CAN_EXPLODE) #define CAN_EXPLODE_3X3(e) HAS_PROPERTY(e, EP_CAN_EXPLODE_3X3) +#define IS_SP_PORT(e) HAS_PROPERTY(e, EP_SP_PORT) /* special macros used in game engine */ #define IS_CUSTOM_ELEMENT(e) ((e) >= EL_CUSTOM_START && \ @@ -1323,6 +1325,7 @@ struct LevelFileInfo int nr; int type; boolean packed; + char *basename; char *filename; }; @@ -1482,12 +1485,16 @@ struct ElementGroupInfo int num_elements; /* number of elements in this group */ short element[MAX_ELEMENTS_IN_GROUP]; /* list of elements in this group */ + int choice_mode; /* how to choose element from group */ + /* ---------- internal values used at runtime when playing ---------- */ /* the following is the same as above, but with recursively resolved group elements (group elements may also contain further group elements!) */ int num_elements_resolved; short element_resolved[NUM_FILE_ELEMENTS]; + + int choice_pos; /* current element choice position */ }; struct ElementInfo