X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=c67fbebbb0f363b3d35b7aa0485bb6c8aa16b6c9;hb=3bb225da5092d0741870829d9f8f8642070d29c5;hp=3dd32c3dd986bfe8f6df2667001984e9bd2005a1;hpb=98a36b5814c35b32554409b491139104f3bf7a3c;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 3dd32c3d..c67fbebb 100644 --- a/src/main.h +++ b/src/main.h @@ -331,6 +331,11 @@ #define CH_SIDE_TOP_BOTTOM MV_VERTICAL #define CH_SIDE_ANY MV_ANY_DIRECTION +#define CH_SIDE_FROM_BUTTON(b) ((b) == MB_LEFTBUTTON ? CH_SIDE_LEFT : \ + (b) == MB_RIGHTBUTTON ? CH_SIDE_RIGHT : \ + (b) == MB_MIDDLEBUTTON ? CH_SIDE_TOP_BOTTOM : \ + CH_SIDE_NONE) + // values for change player for custom elements #define CH_PLAYER_NONE PLAYER_BITS_NONE #define CH_PLAYER_1 PLAYER_BITS_1 @@ -2570,7 +2575,7 @@ enum // program information and versioning definitions #define PROGRAM_VERSION_SUPER 4 #define PROGRAM_VERSION_MAJOR 2 -#define PROGRAM_VERSION_MINOR 1 +#define PROGRAM_VERSION_MINOR 3 #define PROGRAM_VERSION_PATCH 1 #define PROGRAM_VERSION_EXTRA "" @@ -2578,7 +2583,7 @@ enum #define PROGRAM_AUTHOR_STRING "Holger Schemel" #define PROGRAM_EMAIL_STRING "info@artsoft.org" #define PROGRAM_WEBSITE_STRING "https://www.artsoft.org/" -#define PROGRAM_COPYRIGHT_STRING "Copyright \xa9""1995-2020 by Holger Schemel" +#define PROGRAM_COPYRIGHT_STRING "Copyright \xa9""1995-2021 by Holger Schemel" #define PROGRAM_COMPANY_STRING "A Game by Artsoft Entertainment" #define PROGRAM_ICON_FILENAME "RocksIcon32x32.png" @@ -2894,6 +2899,11 @@ struct RequestInfo boolean autowrap; boolean centered; boolean wrap_single_words; + + // run-time values + Bitmap *bitmap; + int sx, sy; + int xsize, ysize; }; struct PreviewInfo @@ -3181,6 +3191,7 @@ struct LevelInfo boolean sb_objects_needed; // all Sokoban objects must be solved boolean auto_exit_sokoban; // automatically finish solved Sokoban levels boolean solved_by_one_player; // level is solved if one player enters exit + boolean finish_dig_collect; // only finished dig/collect triggers ce action boolean continuous_snapping; // repeated snapping without releasing key boolean block_snap_field; // snapping blocks field to show animation @@ -3198,6 +3209,8 @@ struct LevelInfo // ('int' instead of 'boolean' because used as selectbox value in editor) int use_step_counter; // count steps instead of seconds for level + int time_score_base; // use time score for 1 or 10 seconds/steps + short field[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; boolean use_custom_template; // use custom properties from template file @@ -3389,6 +3402,8 @@ struct ElementInfo int drop_delay_random; // additional random delay after dropping int move_delay_fixed; // constant delay after moving int move_delay_random; // additional random delay after moving + int step_delay_fixed; // constant delay while moving + int step_delay_random; // additional random delay while moving int move_pattern; // direction movable element moves to int move_direction_initial; // initial direction element moves to