X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=009736ffc4224aa68666f655eb8b7a4c89cbc108;hb=005e27dc77775cbda39afc1daabc8d5f6011f575;hp=3fe5c72cc3b0abf95bb50157864c66761eae4ec5;hpb=f7e9f2d30ab1cb38b2adef4898fdaf2d254af65b;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 3fe5c72c..009736ff 100644 --- a/src/main.h +++ b/src/main.h @@ -436,7 +436,13 @@ #define GFX_ELEMENT(e) (element_info[e].use_gfx_element ? \ element_info[e].gfx_element : e) +/* !!! "use sound" deactivated due to problems with level "bug machine" !!! */ +/* (solution: add separate "use sound of element" to level file and editor) */ +#if 0 #define SND_ELEMENT(e) GFX_ELEMENT(e) +#else +#define SND_ELEMENT(e) (e) +#endif #define IS_PLAYER(x, y) (ELEM_IS_PLAYER(StorePlayer[x][y])) @@ -947,7 +953,16 @@ #define EL_TRIGGER_ELEMENT 657 #define EL_TRIGGER_PLAYER 658 -#define NUM_FILE_ELEMENTS 659 +#define EL_SP_GRAVITY_ON_PORT_RIGHT 659 +#define EL_SP_GRAVITY_ON_PORT_DOWN 660 +#define EL_SP_GRAVITY_ON_PORT_LEFT 661 +#define EL_SP_GRAVITY_ON_PORT_UP 662 +#define EL_SP_GRAVITY_OFF_PORT_RIGHT 663 +#define EL_SP_GRAVITY_OFF_PORT_DOWN 664 +#define EL_SP_GRAVITY_OFF_PORT_LEFT 665 +#define EL_SP_GRAVITY_OFF_PORT_UP 666 + +#define NUM_FILE_ELEMENTS 667 /* "real" (and therefore drawable) runtime elements */ @@ -1254,8 +1269,8 @@ #define PROGRAM_VERSION_MAJOR 3 #define PROGRAM_VERSION_MINOR 1 -#define PROGRAM_VERSION_PATCH 0 -#define PROGRAM_VERSION_BUILD 5 +#define PROGRAM_VERSION_PATCH 1 +#define PROGRAM_VERSION_BUILD 0 #define PROGRAM_TITLE_STRING "Rocks'n'Diamonds" #define PROGRAM_AUTHOR_STRING "Holger Schemel" @@ -1366,6 +1381,9 @@ struct PlayerInfo boolean use_murphy_graphic; boolean block_last_field; + int block_delay; + int block_delay_value; + boolean can_fall_into_acid; boolean LevelSolved, GameOver; @@ -1402,13 +1420,23 @@ struct PlayerInfo int show_envelope; +#if 1 /* USE_NEW_MOVE_DELAY */ + int move_delay; + int move_delay_value; +#else unsigned long move_delay; int move_delay_value; +#endif int move_delay_reset_counter; +#if 1 /* USE_NEW_PUSH_DELAY */ + int push_delay; + int push_delay_value; +#else unsigned long push_delay; unsigned long push_delay_value; +#endif unsigned long actual_frame_counter; @@ -1576,6 +1604,9 @@ struct GlobalInfo char *autoplay_leveldir; int autoplay_level_nr; + char *convert_leveldir; + int convert_level_nr; + int num_toons; float frames_per_second; @@ -1644,6 +1675,15 @@ struct ElementGroupInfo int choice_pos; /* current element choice position */ }; +struct ElementNameInfo +{ + /* ---------- token and description strings ---------- */ + + char *token_name; /* element token used in config files */ + char *class_name; /* element class used in config files */ + char *editor_description; /* pre-defined description for level editor */ +}; + struct ElementInfo { /* ---------- token and description strings ---------- */ @@ -1943,6 +1983,7 @@ extern struct GlobalInfo global; extern struct MenuInfo menu; extern struct DoorInfo door_1, door_2; extern struct ElementInfo element_info[]; +extern struct ElementNameInfo element_name_info[]; extern struct ElementActionInfo element_action_info[]; extern struct ElementDirectionInfo element_direction_info[]; extern struct SpecialSuffixInfo special_suffix_info[]; @@ -1955,12 +1996,12 @@ extern struct MusicInfo *music_info; extern struct MusicFileInfo *music_file_info; extern struct HelpAnimInfo *helpanim_info; extern SetupFileHash *helptext_info; +extern struct ConfigTypeInfo image_config_suffix[]; +extern struct ConfigTypeInfo sound_config_suffix[]; +extern struct ConfigTypeInfo music_config_suffix[]; extern struct ConfigInfo image_config[]; extern struct ConfigInfo sound_config[]; extern struct ConfigInfo music_config[]; -extern struct ConfigInfo image_config_suffix[]; -extern struct ConfigInfo sound_config_suffix[]; -extern struct ConfigInfo music_config_suffix[]; extern struct ConfigInfo helpanim_config[]; extern struct ConfigInfo helptext_config[];