X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=6c6c9830b5f51e03783e2ecbcc12afd8f64d0085;hb=372e96f519a2866624c49616c894ebf2b24a316b;hp=13cec3fb7a8462d69556b5fa739a95e2dfccffdb;hpb=4fd53190c7842905930f953211bb68885b828b7e;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 13cec3fb..6c6c9830 100644 --- a/src/main.h +++ b/src/main.h @@ -252,11 +252,18 @@ #define CE_VALUE_CHANGES_OF_X 41 #define CE_SCORE_CHANGES 42 #define CE_SCORE_CHANGES_OF_X 43 +#define CE_CLICKED_BY_MOUSE 44 +#define CE_PRESSED_BY_MOUSE 45 +#define CE_MOUSE_CLICKED_ON_X 46 +#define CE_MOUSE_PRESSED_ON_X 47 -#define NUM_CHANGE_EVENTS 44 +#define NUM_CHANGE_EVENTS 48 #define NUM_CE_BITFIELDS ((NUM_CHANGE_EVENTS + 31) / 32) +#define CE_HEADLINE_SPECIAL_EVENTS 250 +#define CE_UNDEFINED 255 + #define CE_BITMASK_DEFAULT 0 #define CH_EVENT_BITFIELD_NR(e) (e / 32) @@ -366,6 +373,7 @@ #define CA_SET_PLAYER_INVENTORY 18 #define CA_SET_CE_ARTWORK 19 #define CA_SET_LEVEL_RANDOM_SEED 20 +#define CA_MOVE_PLAYER_NEW 21 #define CA_HEADLINE_LEVEL_ACTIONS 250 #define CA_HEADLINE_PLAYER_ACTIONS 251 @@ -954,7 +962,8 @@ #define MIN_ELEMENTS_IN_GROUP 1 #define MAX_ELEMENTS_IN_GROUP 16 #define MIN_ANDROID_ELEMENTS 1 -#define MAX_ANDROID_ELEMENTS 16 +#define MAX_ANDROID_ELEMENTS 32 +#define MAX_ANDROID_ELEMENTS_OLD 16 // (extended after version 4.1.4.1) // values for elements with content #define MIN_ELEMENT_CONTENTS 1 @@ -2312,6 +2321,7 @@ enum { GFX_SPECIAL_ARG_SETUP_MAIN = 0, GFX_SPECIAL_ARG_SETUP_GAME, + GFX_SPECIAL_ARG_SETUP_ENGINES, GFX_SPECIAL_ARG_SETUP_EDITOR, GFX_SPECIAL_ARG_SETUP_GRAPHICS, GFX_SPECIAL_ARG_SETUP_SOUND, @@ -2370,10 +2380,13 @@ enum GFX_ARG_DRAW_ORDER, GFX_ARG_INIT_DELAY_FIXED, GFX_ARG_INIT_DELAY_RANDOM, + GFX_ARG_INIT_DELAY_ACTION, GFX_ARG_ANIM_DELAY_FIXED, GFX_ARG_ANIM_DELAY_RANDOM, + GFX_ARG_ANIM_DELAY_ACTION, GFX_ARG_POST_DELAY_FIXED, GFX_ARG_POST_DELAY_RANDOM, + GFX_ARG_POST_DELAY_ACTION, GFX_ARG_INIT_EVENT, GFX_ARG_INIT_EVENT_ACTION, GFX_ARG_ANIM_EVENT, @@ -2386,6 +2399,7 @@ enum GFX_ARG_FADE_DELAY, GFX_ARG_POST_DELAY, GFX_ARG_AUTO_DELAY, + GFX_ARG_AUTO_DELAY_UNIT, GFX_ARG_ALIGN, GFX_ARG_VALIGN, GFX_ARG_SORT_PRIORITY, @@ -2544,15 +2558,15 @@ enum // program information and versioning definitions #define PROGRAM_VERSION_SUPER 4 #define PROGRAM_VERSION_MAJOR 1 -#define PROGRAM_VERSION_MINOR 1 -#define PROGRAM_VERSION_PATCH 1 +#define PROGRAM_VERSION_MINOR 4 +#define PROGRAM_VERSION_PATCH 2 #define PROGRAM_VERSION_EXTRA "" #define PROGRAM_TITLE_STRING "Rocks'n'Diamonds" #define PROGRAM_AUTHOR_STRING "Holger Schemel" #define PROGRAM_EMAIL_STRING "info@artsoft.org" #define PROGRAM_WEBSITE_STRING "http://www.artsoft.org/" -#define PROGRAM_COPYRIGHT_STRING "Copyright \xa9""1995-2018 by Holger Schemel" +#define PROGRAM_COPYRIGHT_STRING "Copyright \xa9""1995-2020 by Holger Schemel" #define PROGRAM_COMPANY_STRING "A Game by Artsoft Entertainment" #define PROGRAM_ICON_FILENAME "RocksIcon32x32.png" @@ -2645,10 +2659,15 @@ struct RequestButtonInfo struct TextPosInfo yes; struct TextPosInfo no; struct TextPosInfo confirm; + struct TextPosInfo player_1; struct TextPosInfo player_2; struct TextPosInfo player_3; struct TextPosInfo player_4; + + struct TextPosInfo touch_yes; + struct TextPosInfo touch_no; + struct TextPosInfo touch_confirm; }; struct MenuMainButtonInfo @@ -2671,6 +2690,8 @@ struct MenuMainButtonInfo struct MenuPosInfo insert_solution; struct MenuPosInfo play_solution; + + struct MenuPosInfo switch_ecs_aga; }; struct MenuMainTextInfo @@ -2715,12 +2736,29 @@ struct MenuMainInfo struct TextPosInfo network_players; }; +struct MenuSetupButtonInfo +{ + struct MenuPosInfo prev_player; + struct MenuPosInfo next_player; + + struct MenuPosInfo touch_back; + struct MenuPosInfo touch_next; + struct MenuPosInfo touch_back2; + struct MenuPosInfo touch_next2; +}; + +struct MenuSetupInfo +{ + struct MenuSetupButtonInfo button; +}; + struct TitleFadingInfo { int fade_mode; int fade_delay; int post_delay; int auto_delay; + int auto_delay_unit; }; struct TitleMessageInfo @@ -2739,6 +2777,7 @@ struct TitleMessageInfo int fade_delay; int post_delay; int auto_delay; + int auto_delay_unit; }; struct InitInfo @@ -2757,6 +2796,8 @@ struct MenuInfo int scrollbar_xoffset; + struct MenuPosInfo list_setup[NUM_SPECIAL_GFX_SETUP_ARGS]; + int list_size[NUM_SPECIAL_GFX_ARGS]; int list_size_info[NUM_SPECIAL_GFX_INFO_ARGS]; @@ -2799,6 +2840,7 @@ struct MenuInfo int music[NUM_SPECIAL_GFX_ARGS]; struct MenuMainInfo main; + struct MenuSetupInfo setup; }; struct DoorInfo @@ -2849,6 +2891,8 @@ struct PreviewInfo int step_offset; int step_delay; int anim_mode; + + boolean redefined; // redefined by custom artwork }; struct EditorTabsInfo @@ -3083,7 +3127,7 @@ struct LevelInfo int android_move_time; int android_clone_time; boolean ball_random; - boolean ball_state_initial; + boolean ball_active_initial; int ball_time; int lenses_score; int magnify_score; @@ -3408,6 +3452,18 @@ struct GlobalAnimInfo int music[NUM_GLOBAL_ANIM_PARTS_ALL][NUM_SPECIAL_GFX_ARGS]; }; +struct GlobalAnimEventListInfo +{ + int *event_value; + int num_event_values; +}; + +struct GlobalAnimEventInfo +{ + struct GlobalAnimEventListInfo **event_list; + int num_event_lists; +}; + struct GraphicInfo { Bitmap **bitmaps; // bitmaps in all required sizes @@ -3445,10 +3501,13 @@ struct GraphicInfo int init_delay_fixed; // optional initial delay values for global int init_delay_random; // animations (pause interval before start) + int init_delay_action; // optional action called on animation start int anim_delay_fixed; // optional delay values for bored/sleeping int anim_delay_random; // and global animations (animation length) + int anim_delay_action; // optional action called on animation end int post_delay_fixed; // optional delay values after bored/global int post_delay_random; // animations (pause before next animation) + int post_delay_action; // optional action called after post delay int init_event; // optional event triggering animation start int init_event_action; // optional action called on animation start @@ -3474,6 +3533,7 @@ struct GraphicInfo int fade_delay; // optional setting for drawing title screens int post_delay; // optional setting for drawing title screens int auto_delay; // optional setting for drawing title screens + int auto_delay_unit; // optional setting for drawing title screens int align, valign; // optional setting for drawing title screens int sort_priority; // optional setting for drawing title screens @@ -3697,6 +3757,7 @@ extern struct TokenIntPtrInfo image_config_vars[]; extern struct FontInfo font_info[]; extern struct GlobalAnimInfo global_anim_info[]; extern struct GlobalAnimNameInfo global_anim_name_info[]; +extern struct GlobalAnimEventInfo global_anim_event_info; extern struct MusicPrefixInfo music_prefix_info[]; extern struct GraphicInfo *graphic_info; extern struct SoundInfo *sound_info;