X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain.h;h=4d05cfd3420d1c596bd06cfff169d3bb1d4fd88f;hb=3c4bdac5671bde161609293f4c5b504dee4d3aa1;hp=774c97c73a10b1e3d9221549410b4dc8cc914427;hpb=6d7ebf6db8a9a57f2e3e398da1d2f7d8d084523f;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 774c97c7..4d05cfd3 100644 --- a/src/main.h +++ b/src/main.h @@ -163,7 +163,10 @@ #define EP_HAS_ACTION 87 #define EP_CAN_CHANGE_OR_HAS_ACTION 88 -#define NUM_ELEMENT_PROPERTIES 89 +/* values for internal purpose only (other) */ +#define EP_OBSOLETE 89 + +#define NUM_ELEMENT_PROPERTIES 90 #define NUM_EP_BITFIELDS ((NUM_ELEMENT_PROPERTIES + 31) / 32) #define EP_BITFIELD_BASE 0 @@ -226,8 +229,13 @@ #define NUM_CHANGE_EVENTS 40 +#define NUM_CE_BITFIELDS ((NUM_CHANGE_EVENTS + 31) / 32) + #define CE_BITMASK_DEFAULT 0 +#define EVENT_BITFIELD_NR(e) (e / 32) +#define EVENT_BIT(e) (1 << ((e) % 32)) + #define CH_EVENT_VAR(e,c) (element_info[e].change->has_event[c]) #define CH_ANY_EVENT_VAR(e,c) (element_info[e].has_change_event[c]) @@ -593,6 +601,8 @@ #define CAN_CHANGE_OR_HAS_ACTION(e) \ HAS_PROPERTY(e, EP_CAN_CHANGE_OR_HAS_ACTION) +#define IS_OBSOLETE(e) HAS_PROPERTY(e, EP_OBSOLETE) + /* special macros used in game engine */ #define IS_CUSTOM_ELEMENT(e) ((e) >= EL_CUSTOM_START && \ (e) <= EL_CUSTOM_END)