X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=3c3a40fb5181bd3a297542b5e64c20d6138642c8;hb=d905e6df72c773e1943694b96710a2bc25cc863e;hp=a88e12b8b3ea1c4f4773be6ae487255f6a44d7d3;hpb=ac86d841daa4ecafff3128110a1db109e03fb355;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index a88e12b8..3c3a40fb 100644 --- a/src/main.h +++ b/src/main.h @@ -1303,14 +1303,14 @@ #define EL_BD_EXPANDABLE_WALL 713 -#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_PREV_CE_8 714 +#define EL_PREV_CE_7 715 +#define EL_PREV_CE_6 716 +#define EL_PREV_CE_5 717 +#define EL_PREV_CE_4 718 +#define EL_PREV_CE_3 719 +#define EL_PREV_CE_2 720 +#define EL_PREV_CE_1 721 #define EL_SELF 722 #define EL_NEXT_CE_1 723 #define EL_NEXT_CE_2 724 @@ -1658,44 +1658,59 @@ #define NUM_MUS_ARGS 1 -/* values for font configuration */ +/* values for font configuration (definitions must match those from main.c) */ #define FONT_INITIAL_1 0 #define FONT_INITIAL_2 1 #define FONT_INITIAL_3 2 #define FONT_INITIAL_4 3 #define FONT_TITLE_1 4 #define FONT_TITLE_2 5 -#define FONT_MENU_1 6 -#define FONT_MENU_2 7 -#define FONT_TEXT_1_ACTIVE 8 -#define FONT_TEXT_2_ACTIVE 9 -#define FONT_TEXT_3_ACTIVE 10 -#define FONT_TEXT_4_ACTIVE 11 -#define FONT_TEXT_1 12 -#define FONT_TEXT_2 13 -#define FONT_TEXT_3 14 -#define FONT_TEXT_4 15 -#define FONT_ENVELOPE_1 16 -#define FONT_ENVELOPE_2 17 -#define FONT_ENVELOPE_3 18 -#define FONT_ENVELOPE_4 19 -#define FONT_INPUT_1_ACTIVE 20 -#define FONT_INPUT_2_ACTIVE 21 -#define FONT_INPUT_1 22 -#define FONT_INPUT_2 23 -#define FONT_OPTION_OFF 24 -#define FONT_OPTION_ON 25 -#define FONT_VALUE_1 26 -#define FONT_VALUE_2 27 -#define FONT_VALUE_OLD 28 -#define FONT_LEVEL_NUMBER_ACTIVE 29 -#define FONT_LEVEL_NUMBER 30 -#define FONT_TAPE_RECORDER 31 -#define FONT_GAME_INFO 32 - -#define NUM_FONTS 33 +#define FONT_MENU_1_ACTIVE 6 +#define FONT_MENU_2_ACTIVE 7 +#define FONT_MENU_1 8 +#define FONT_MENU_2 9 +#define FONT_TEXT_1_ACTIVE 10 +#define FONT_TEXT_2_ACTIVE 11 +#define FONT_TEXT_3_ACTIVE 12 +#define FONT_TEXT_4_ACTIVE 13 +#define FONT_TEXT_1 14 +#define FONT_TEXT_2 15 +#define FONT_TEXT_3 16 +#define FONT_TEXT_4 17 +#define FONT_ENVELOPE_1 18 +#define FONT_ENVELOPE_2 19 +#define FONT_ENVELOPE_3 20 +#define FONT_ENVELOPE_4 21 +#define FONT_INPUT_1_ACTIVE 22 +#define FONT_INPUT_2_ACTIVE 23 +#define FONT_INPUT_1 24 +#define FONT_INPUT_2 25 +#define FONT_OPTION_OFF 26 +#define FONT_OPTION_ON 27 +#define FONT_VALUE_1 28 +#define FONT_VALUE_2 29 +#define FONT_VALUE_OLD 30 +#define FONT_LEVEL_NUMBER_ACTIVE 31 +#define FONT_LEVEL_NUMBER 32 +#define FONT_TAPE_RECORDER 33 +#define FONT_GAME_INFO 34 + +#define NUM_FONTS 35 #define NUM_INITIAL_FONTS 4 +#define FONT_ACTIVE(f) \ + ((f) == FONT_MENU_1 ? FONT_MENU_1_ACTIVE : \ + (f) == FONT_MENU_2 ? FONT_MENU_2_ACTIVE : \ + (f) == FONT_TEXT_1 ? FONT_TEXT_1_ACTIVE : \ + (f) == FONT_TEXT_2 ? FONT_TEXT_2_ACTIVE : \ + (f) == FONT_TEXT_3 ? FONT_TEXT_3_ACTIVE : \ + (f) == FONT_TEXT_4 ? FONT_TEXT_4_ACTIVE : \ + (f) == FONT_INPUT_1 ? FONT_INPUT_1_ACTIVE : \ + (f) == FONT_INPUT_2 ? FONT_INPUT_2_ACTIVE : \ + (f) == FONT_LEVEL_NUMBER ? FONT_LEVEL_NUMBER_ACTIVE : \ + (f)) + + /* values for game_status (must match special image configuration suffixes) */ #define GAME_MODE_DEFAULT 0 #define GAME_MODE_TITLE 1 @@ -1727,7 +1742,7 @@ /* program information and versioning definitions */ #define PROGRAM_VERSION_MAJOR 3 #define PROGRAM_VERSION_MINOR 2 -#define PROGRAM_VERSION_PATCH 2 +#define PROGRAM_VERSION_PATCH 3 #define PROGRAM_VERSION_BUILD 0 #define PROGRAM_TITLE_STRING "Rocks'n'Diamonds" @@ -1815,6 +1830,56 @@ #define NUM_ENGINE_TYPES 3 +struct BorderInfo +{ + int draw_masked[NUM_SPECIAL_GFX_ARGS]; +}; + +struct MenuMainButtonInfo +{ + struct Rect name; + struct Rect levels; + struct Rect scores; + struct Rect editor; + struct Rect info; + struct Rect game; + struct Rect setup; + struct Rect quit; + + struct Rect prev_level; + struct Rect next_level; +}; + +struct MenuMainTextInfo +{ + struct Rect name; + struct Rect levels; + struct Rect scores; + struct Rect editor; + struct Rect info; + struct Rect game; + struct Rect setup; + struct Rect quit; + + struct Rect current_level; + struct Rect first_level; + struct Rect last_level; + struct Rect levelset_info; + struct Rect level_info; +}; + +struct MenuMainInputInfo +{ + struct Rect name; +}; + +struct MenuMainInfo +{ + struct MenuMainButtonInfo button; + struct MenuMainTextInfo text; + struct MenuMainInputInfo input; +}; + struct MenuInfo { int draw_xoffset[NUM_SPECIAL_GFX_ARGS]; @@ -1829,6 +1894,8 @@ struct MenuInfo int sound[NUM_SPECIAL_GFX_ARGS]; int music[NUM_SPECIAL_GFX_ARGS]; + + struct MenuMainInfo main; }; struct DoorInfo @@ -2407,6 +2474,7 @@ extern struct LevelInfo level, level_template; extern struct HiScore highscore[]; extern struct TapeInfo tape; extern struct GlobalInfo global; +extern struct BorderInfo border; extern struct MenuInfo menu; extern struct DoorInfo door_1, door_2; extern struct PreviewInfo preview;