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,
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,
#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
{ -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,
&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),
},
{
ED_CHECKBUTTON_ID_BD_PAL_TIMING,
- ED_LEVEL_SETTINGS_XPOS(0), ED_LEVEL_SETTINGS_YPOS(1),
+ ED_LEVEL_SETTINGS_XPOS(0), ED_LEVEL_SETTINGS_YPOS(2),
GADGET_ID_BD_PAL_TIMING, GADGET_ID_NONE,
&level.bd_pal_timing,
NULL, NULL,
// 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)
{
-1, -1,
- TYPE_BOOLEAN, CONF_VALUE_8_BIT(15),
+ TYPE_INTEGER, CONF_VALUE_8_BIT(15),
+ &li.bd_scheduling_type, GD_SCHEDULING_MILLISECONDS
+ },
+
+ {
+ -1, -1,
+ TYPE_BOOLEAN, CONF_VALUE_8_BIT(16),
&li.bd_pal_timing, FALSE
},
cave->level_speed[0] = 160; // set cave speed
+ cave->scheduling = level->bd_scheduling_type;
cave->pal_timing = level->bd_pal_timing;
cave->intermission = level->bd_intermission;
cave->diagonal_movements = level->bd_diagonal_movements;
level->score[SC_EMERALD] = cave->diamond_value;
level->score[SC_DIAMOND_EXTRA] = cave->extra_diamond_value;
+ level->bd_scheduling_type = cave->scheduling;
level->bd_pal_timing = cave->pal_timing;
level->bd_intermission = cave->intermission;
level->bd_diagonal_movements = cave->diagonal_movements;