X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=24cc61c8312dabbebc5836b78216356aaaf8cc85;hb=e4f31a4e6f4b611a1dddb16afb66e3af177dd937;hp=07ce33fb9e3fd35499fafb42beb026a7556a3b48;hpb=18f04ed2930c70cce6231148945cc24a1c662041;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 07ce33fb..24cc61c8 100644 --- a/src/main.h +++ b/src/main.h @@ -715,10 +715,17 @@ #define IS_IN_GROUP(e, nr) (element_info[e].in_group[nr] == TRUE) #define IS_IN_GROUP_EL(e, ge) (IS_IN_GROUP(e, (ge) - EL_GROUP_START)) +#if 1 +#define IS_EQUAL_OR_IN_GROUP(e, ge) \ + (ge == EL_ANY_ELEMENT ? TRUE : \ + IS_GROUP_ELEMENT(ge) ? IS_IN_GROUP(e, GROUP_NR(ge)) : (e) == (ge)) +#else #define IS_EQUAL_OR_IN_GROUP(e, ge) \ (IS_GROUP_ELEMENT(ge) ? IS_IN_GROUP(e, GROUP_NR(ge)) : (e) == (ge)) #endif +#endif + #define IS_PLAYER(x, y) (ELEM_IS_PLAYER(StorePlayer[x][y])) #define IS_FREE(x, y) (Feld[x][y] == EL_EMPTY && !IS_PLAYER(x, y)) @@ -1311,7 +1318,26 @@ #define EL_BD_EXPANDABLE_WALL 713 -#define NUM_FILE_ELEMENTS 714 +#define EL_LAST_CE_8 714 +#define EL_LAST_CE_7 715 +#define EL_LAST_CE_6 716 +#define EL_LAST_CE_5 717 +#define EL_LAST_CE_4 718 +#define EL_LAST_CE_3 719 +#define EL_LAST_CE_2 720 +#define EL_LAST_CE_1 721 +#define EL_SELF 722 +#define EL_NEXT_CE_1 723 +#define EL_NEXT_CE_2 724 +#define EL_NEXT_CE_3 725 +#define EL_NEXT_CE_4 726 +#define EL_NEXT_CE_5 727 +#define EL_NEXT_CE_6 728 +#define EL_NEXT_CE_7 729 +#define EL_NEXT_CE_8 730 +#define EL_ANY_ELEMENT 731 + +#define NUM_FILE_ELEMENTS 732 /* "real" (and therefore drawable) runtime elements */