X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=1ec25ad6fd2295d8e2010f2568ef198f575eaa6a;hb=2c89261a1186ffc19bd6e5f82e9369bee1545e2f;hp=1e620fb99bc83d03838c59d4f8300963b31b8fd8;hpb=cee436b68cda95e13abc810235a11ce94bc79c95;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 1e620fb9..1ec25ad6 100644 --- a/src/main.h +++ b/src/main.h @@ -542,6 +542,7 @@ #define MIN_ELEMENT_CONTENTS 1 #define STD_ELEMENT_CONTENTS 4 #define MAX_ELEMENT_CONTENTS 8 +#define NUM_MAGIC_BALL_CONTENTS 8 #define LEVEL_SCORE_ELEMENTS 16 /* level elements with score */ @@ -963,7 +964,44 @@ #define EL_SP_GRAVITY_OFF_PORT_LEFT 665 #define EL_SP_GRAVITY_OFF_PORT_UP 666 -#define NUM_FILE_ELEMENTS 667 + +/* the following EMC style elements are currently not implemented in R'n'D */ +#define EL_BALLOON_SWITCH_NONE 667 +#define EL_EM_GATE_5 668 +#define EL_EM_GATE_6 669 +#define EL_EM_GATE_7 670 +#define EL_EM_GATE_8 671 +#define EL_EM_GATE_5_GRAY 672 +#define EL_EM_GATE_6_GRAY 673 +#define EL_EM_GATE_7_GRAY 674 +#define EL_EM_GATE_8_GRAY 675 +#define EL_EM_KEY_5 676 +#define EL_EM_KEY_6 677 +#define EL_EM_KEY_7 678 +#define EL_EM_KEY_8 679 +#define EL_EMC_ANDROID 680 +#define EL_EMC_GRASS 681 +#define EL_EMC_MAGIC_BALL 682 +#define EL_EMC_MAGIC_BALL_SWITCH 683 +#define EL_EMC_SPRING_BUMPER 684 +#define EL_EMC_PLANT 685 +#define EL_EMC_LENSES 686 +#define EL_EMC_MAGNIFIER 687 +#define EL_EMC_WALL_9 688 +#define EL_EMC_WALL_10 689 +#define EL_EMC_WALL_11 690 +#define EL_EMC_WALL_12 691 +#define EL_EMC_WALL_13 692 +#define EL_EMC_WALL_14 693 +#define EL_EMC_WALL_15 694 +#define EL_EMC_WALL_16 695 +#define EL_EMC_WALL_SLIPPERY_1 696 +#define EL_EMC_WALL_SLIPPERY_2 697 +#define EL_EMC_WALL_SLIPPERY_3 698 +#define EL_EMC_WALL_SLIPPERY_4 699 +#define EL_EMC_DRIPPER 700 + +#define NUM_FILE_ELEMENTS 701 /* "real" (and therefore drawable) runtime elements */ @@ -1186,14 +1224,17 @@ #define GFX_ARG_POST_DELAY_FIXED 28 #define GFX_ARG_POST_DELAY_RANDOM 29 #define GFX_ARG_NAME 30 +#define GFX_ARG_SCALE_UP_FACTOR 31 -#define NUM_GFX_ARGS 31 +#define NUM_GFX_ARGS 32 /* values for sound configuration suffixes */ #define SND_ARG_MODE_LOOP 0 +#define SND_ARG_VOLUME 1 +#define SND_ARG_PRIORITY 2 -#define NUM_SND_ARGS 1 +#define NUM_SND_ARGS 3 /* values for music configuration suffixes */ @@ -1477,6 +1518,11 @@ struct LevelInfo { struct LevelFileInfo file_info; + int game_engine_type; + + /* level stored in native format for the alternative native game engines */ + struct LevelInfo_EM *native_em_level; + int file_version; /* file format version the level is stored with */ int game_version; /* game release version the level was created with */ @@ -1508,6 +1554,21 @@ struct LevelInfo int time_light; int time_timegate; + /* values for the new EMC elements */ + int android_move_time; + int android_clone_time; + boolean ball_random; + boolean ball_state_initial; + int ball_time; + int lenses_score; + int magnify_score; + int slurp_score; + int lenses_time; + int magnify_time; + int wind_direction_initial; + int ball_content[NUM_MAGIC_BALL_CONTENTS][3][3]; + boolean android_array[16]; + int can_move_into_acid_bits; /* bitfield to store property for elements */ int dont_collide_with_bits; /* bitfield to store property for elements */ @@ -1817,6 +1878,7 @@ struct GraphicInfo int crumbled_like; /* element for cloning crumble graphics */ int diggable_like; /* element for cloning digging graphics */ int border_size; /* border size for "crumbled" graphics */ + int scale_up_factor; /* optional factor for scaling image up */ int anim_delay_fixed; /* optional delay values for bored and */ int anim_delay_random; /* sleeping player animations (animation */ @@ -1839,6 +1901,8 @@ struct GraphicInfo struct SoundInfo { boolean loop; + int volume; + int priority; }; struct MusicInfo