X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=e0b60503eca362496070f7b37088b89a5ec7ac87;hb=9583e9c55b889974e0df9a8ca1930efdf29bda29;hp=0ee2ca27a570731d1acd6e503409b5a9505e8c44;hpb=5a2237add0a19d1559c0fe20c3f27651a71adf6c;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 0ee2ca27..e0b60503 100644 --- a/src/main.h +++ b/src/main.h @@ -23,6 +23,7 @@ #include #include "libgame/libgame.h" +#include "game_em/game_em.h" #include "conf_gfx.h" /* include auto-generated data structure definitions */ #include "conf_snd.h" /* include auto-generated data structure definitions */ @@ -962,7 +963,52 @@ #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_EMC_LEVEL_BORDER 668 +#define EL_EMC_ANDROID 669 +#define EL_EMC_ANDROID_RIGHT 670 +#define EL_EMC_ANDROID_UP 671 +#define EL_EMC_ANDROID_LEFT 672 +#define EL_EMC_ANDROID_DOWN 673 +#define EL_EMC_ANDROID_LEFT_UP 674 +#define EL_EMC_ANDROID_LEFT_DOWN 675 +#define EL_EMC_ANDROID_RIGHT_UP 676 +#define EL_EMC_ANDROID_RIGHT_DOWN 677 +#define EL_EMC_GRASS 678 +#define EL_EMC_GENERATOR_BALL 679 +#define EL_EMC_GROW 680 +#define EL_EMC_GATE_1 681 +#define EL_EMC_GATE_2 682 +#define EL_EMC_GATE_3 683 +#define EL_EMC_GATE_4 684 +#define EL_EMC_GATE_5 685 +#define EL_EMC_GATE_6 686 +#define EL_EMC_GATE_7 687 +#define EL_EMC_GATE_8 688 +#define EL_EMC_GATE_1_GRAY 689 +#define EL_EMC_GATE_2_GRAY 690 +#define EL_EMC_GATE_3_GRAY 691 +#define EL_EMC_GATE_4_GRAY 692 +#define EL_EMC_GATE_5_GRAY 693 +#define EL_EMC_GATE_6_GRAY 694 +#define EL_EMC_GATE_7_GRAY 695 +#define EL_EMC_GATE_8_GRAY 696 +#define EL_EMC_KEY_1 697 +#define EL_EMC_KEY_2 698 +#define EL_EMC_KEY_3 699 +#define EL_EMC_KEY_4 700 +#define EL_EMC_KEY_5 701 +#define EL_EMC_KEY_6 702 +#define EL_EMC_KEY_7 703 +#define EL_EMC_KEY_8 704 +#define EL_EMC_BUMPER 705 +#define EL_EMC_PLANT 706 +#define EL_EMC_LENSES 707 +#define EL_EMC_MAGNIFIER 708 + +#define NUM_FILE_ELEMENTS 709 /* "real" (and therefore drawable) runtime elements */ @@ -1185,14 +1231,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 */ @@ -1474,6 +1523,13 @@ struct LevelFileInfo struct LevelInfo { + struct LevelFileInfo file_info; + + /* level stored in native format for the native game engines */ + struct LevelInfo_EM *native_em_level; + + int game_engine_type; + int file_version; /* file format version the level is stored with */ int game_version; /* game release version the level was created with */ @@ -1814,6 +1870,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 */ @@ -1836,6 +1893,8 @@ struct GraphicInfo struct SoundInfo { boolean loop; + int volume; + int priority; }; struct MusicInfo