X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Feditor.c;h=bd1e70bbae8d4449fe690425faf16935167f314a;hb=28f12e15d6cc932d5c2b6ae5a621fa024f3a1a2b;hp=c0f072d19a14958b7b7a902ce4cee65eebffe813;hpb=75dd1314a0f4e27158e7536068f3751ef4e0b352;p=rocksndiamonds.git diff --git a/src/editor.c b/src/editor.c index c0f072d1..bd1e70bb 100644 --- a/src/editor.c +++ b/src/editor.c @@ -571,6 +571,7 @@ enum GADGET_ID_TIME_OR_STEPS, GADGET_ID_TIME_SCORE_BASE, GADGET_ID_GAME_ENGINE_TYPE, + GADGET_ID_BD_SCHEDULING_TYPE, GADGET_ID_LEVELSET_SAVE_MODE, GADGET_ID_WIND_DIRECTION, GADGET_ID_PLAYER_SPEED, @@ -650,6 +651,7 @@ enum GADGET_ID_RANDOM_QUANTITY, GADGET_ID_RANDOM_RESTRICTED, GADGET_ID_BD_INTERMISSION, + GADGET_ID_BD_PAL_TIMING, GADGET_ID_STICK_ELEMENT, GADGET_ID_EM_SLIPPERY_GEMS, GADGET_ID_EM_EXPLODES_BY_FIRE, @@ -864,6 +866,7 @@ enum ED_SELECTBOX_ID_TIME_OR_STEPS, ED_SELECTBOX_ID_TIME_SCORE_BASE, ED_SELECTBOX_ID_GAME_ENGINE_TYPE, + ED_SELECTBOX_ID_BD_SCHEDULING_TYPE, ED_SELECTBOX_ID_LEVELSET_SAVE_MODE, ED_SELECTBOX_ID_WIND_DIRECTION, ED_SELECTBOX_ID_PLAYER_SPEED, @@ -903,6 +906,9 @@ enum #define ED_SELECTBOX_ID_LEVELSET_FIRST ED_SELECTBOX_ID_LEVELSET_SAVE_MODE #define ED_SELECTBOX_ID_LEVELSET_LAST ED_SELECTBOX_ID_LEVELSET_SAVE_MODE +#define ED_SELECTBOX_ID_ENGINE_FIRST ED_SELECTBOX_ID_BD_SCHEDULING_TYPE +#define ED_SELECTBOX_ID_ENGINE_LAST ED_SELECTBOX_ID_BD_SCHEDULING_TYPE + #define ED_SELECTBOX_ID_CUSTOM1_FIRST ED_SELECTBOX_ID_CUSTOM_ACCESS_TYPE #define ED_SELECTBOX_ID_CUSTOM1_LAST ED_SELECTBOX_ID_CUSTOM_WALK_TO_ACTION #define ED_SELECTBOX_ID_CUSTOM2_FIRST ED_SELECTBOX_ID_CUSTOM_MOVE_PATTERN @@ -968,6 +974,7 @@ enum ED_CHECKBUTTON_ID_CUSTOM_USE_TEMPLATE_3, ED_CHECKBUTTON_ID_CUSTOM_USE_TEMPLATE_2, ED_CHECKBUTTON_ID_BD_INTERMISSION, + ED_CHECKBUTTON_ID_BD_PAL_TIMING, ED_CHECKBUTTON_ID_STICK_ELEMENT, ED_CHECKBUTTON_ID_EM_SLIPPERY_GEMS, ED_CHECKBUTTON_ID_EM_EXPLODES_BY_FIRE, @@ -1049,7 +1056,7 @@ enum #define ED_CHECKBUTTON_ID_EDITOR_LAST ED_CHECKBUTTON_ID_CUSTOM_USE_TEMPLATE_2 #define ED_CHECKBUTTON_ID_ENGINE_FIRST ED_CHECKBUTTON_ID_BD_INTERMISSION -#define ED_CHECKBUTTON_ID_ENGINE_LAST ED_CHECKBUTTON_ID_BD_INTERMISSION +#define ED_CHECKBUTTON_ID_ENGINE_LAST ED_CHECKBUTTON_ID_BD_PAL_TIMING #define ED_CHECKBUTTON_ID_CUSTOM1_FIRST ED_CHECKBUTTON_ID_CUSTOM_USE_GRAPHIC #define ED_CHECKBUTTON_ID_CUSTOM1_LAST ED_CHECKBUTTON_ID_CUSTOM_INDESTRUCTIBLE @@ -2528,6 +2535,19 @@ static struct ValueTextInfo options_group_choice_mode[] = { -1, NULL } }; +static struct ValueTextInfo options_bd_scheduling_type[] = +{ + { GD_SCHEDULING_MILLISECONDS, "Milliseconds" }, + { GD_SCHEDULING_BD1, "BD1" }, + { GD_SCHEDULING_BD2, "BD2" }, + { GD_SCHEDULING_PLCK, "Construction Kit" }, + { GD_SCHEDULING_CRDR, "Crazy Dream 7" }, + { GD_SCHEDULING_BD1_ATARI, "Atari BD1" }, + { GD_SCHEDULING_BD2_PLCK_ATARI,"Atari BD2 / PLCK" }, + + { -1, NULL } +}; + static struct ValueTextInfo *action_arg_modes[] = { options_action_mode_none, @@ -2611,6 +2631,15 @@ static struct &level.game_engine_type, NULL, "game engine:", NULL, "game engine" }, + { + ED_SELECTBOX_ID_BD_SCHEDULING_TYPE, + ED_LEVEL_SETTINGS_XPOS(0), ED_LEVEL_SETTINGS_YPOS(1), + GADGET_ID_BD_SCHEDULING_TYPE, GADGET_ID_NONE, + -1, + options_bd_scheduling_type, + &level.bd_scheduling_type, + NULL, "scheduling type:", NULL, "level timing" + }, { ED_SELECTBOX_ID_LEVELSET_SAVE_MODE, ED_LEVEL_SETTINGS_XPOS(0), ED_LEVEL_SETTINGS_YPOS(10), @@ -3254,6 +3283,14 @@ static struct "Boulder Dash game engine settings:", NULL, "intermission", "level is an intermission level" }, + { + ED_CHECKBUTTON_ID_BD_PAL_TIMING, + ED_LEVEL_SETTINGS_XPOS(0), ED_LEVEL_SETTINGS_YPOS(2), + GADGET_ID_BD_PAL_TIMING, GADGET_ID_NONE, + &level.bd_pal_timing, + NULL, NULL, + "PAL timing", "use slower timer (like PAL C64)" + }, // ---------- element settings: configure (various elements) ---------------- @@ -10010,6 +10047,10 @@ static void DrawLevelConfigEngine(void) // draw checkbutton gadgets for (i = ED_CHECKBUTTON_ID_ENGINE_FIRST; i <= ED_CHECKBUTTON_ID_ENGINE_LAST; i++) MapCheckbuttonGadget(i); + + // draw selectbox gadgets + for (i = ED_SELECTBOX_ID_ENGINE_FIRST; i <= ED_SELECTBOX_ID_ENGINE_LAST; i++) + MapSelectboxGadget(i); } static void DrawLevelConfigWindow(void)