GADGET_ID_BD_INTERMISSION,
GADGET_ID_BD_PAL_TIMING,
GADGET_ID_BD_LINE_SHIFTING_BORDERS,
+ GADGET_ID_BD_SCAN_FIRST_AND_LAST_ROW,
+ GADGET_ID_BD_SHORT_EXPLOSIONS,
+ GADGET_ID_BD_GRAVITY_AFFECTS_ALL,
GADGET_ID_STICK_ELEMENT,
GADGET_ID_EM_SLIPPERY_GEMS,
GADGET_ID_EM_EXPLODES_BY_FIRE,
GADGET_ID_CAN_MOVE_INTO_ACID,
GADGET_ID_DONT_COLLIDE_WITH,
GADGET_ID_BD_DIAGONAL_MOVEMENTS,
+ GADGET_ID_BD_TOPMOST_PLAYER_ACTIVE,
GADGET_ID_ENVELOPE_AUTOWRAP,
GADGET_ID_ENVELOPE_CENTERED,
GADGET_ID_MM_LASER_RED,
ED_CHECKBUTTON_ID_BD_INTERMISSION,
ED_CHECKBUTTON_ID_BD_PAL_TIMING,
ED_CHECKBUTTON_ID_BD_LINE_SHIFTING_BORDERS,
+ ED_CHECKBUTTON_ID_BD_SCAN_FIRST_AND_LAST_ROW,
+ ED_CHECKBUTTON_ID_BD_SHORT_EXPLOSIONS,
+ ED_CHECKBUTTON_ID_BD_GRAVITY_AFFECTS_ALL,
ED_CHECKBUTTON_ID_STICK_ELEMENT,
ED_CHECKBUTTON_ID_EM_SLIPPERY_GEMS,
ED_CHECKBUTTON_ID_EM_EXPLODES_BY_FIRE,
ED_CHECKBUTTON_ID_CAN_MOVE_INTO_ACID,
ED_CHECKBUTTON_ID_DONT_COLLIDE_WITH,
ED_CHECKBUTTON_ID_BD_DIAGONAL_MOVEMENTS,
+ ED_CHECKBUTTON_ID_BD_TOPMOST_PLAYER_ACTIVE,
ED_CHECKBUTTON_ID_ENVELOPE_AUTOWRAP,
ED_CHECKBUTTON_ID_ENVELOPE_CENTERED,
ED_CHECKBUTTON_ID_MM_LASER_RED,
#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_LINE_SHIFTING_BORDERS
+#define ED_CHECKBUTTON_ID_ENGINE_LAST ED_CHECKBUTTON_ID_BD_GRAVITY_AFFECTS_ALL
#define ED_CHECKBUTTON_ID_CUSTOM1_FIRST ED_CHECKBUTTON_ID_CUSTOM_USE_GRAPHIC
#define ED_CHECKBUTTON_ID_CUSTOM1_LAST ED_CHECKBUTTON_ID_CUSTOM_INDESTRUCTIBLE
"Compatibility settings:", NULL,
"line-shifting borders", "use line-shifting wrap-around"
},
+ {
+ ED_CHECKBUTTON_ID_BD_SCAN_FIRST_AND_LAST_ROW,
+ ED_LEVEL_SETTINGS_XPOS(0), ED_LEVEL_SETTINGS_YPOS(7),
+ GADGET_ID_BD_SCAN_FIRST_AND_LAST_ROW, GADGET_ID_NONE,
+ &level.bd_scan_first_and_last_row,
+ NULL, NULL,
+ "scan first and last row", "also process top/bottom border rows"
+ },
+ {
+ ED_CHECKBUTTON_ID_BD_SHORT_EXPLOSIONS,
+ ED_LEVEL_SETTINGS_XPOS(0), ED_LEVEL_SETTINGS_YPOS(8),
+ GADGET_ID_BD_SHORT_EXPLOSIONS, GADGET_ID_NONE,
+ &level.bd_short_explosions,
+ NULL, NULL,
+ "short explosions", "use four game cycles for explosions"
+ },
+ {
+ ED_CHECKBUTTON_ID_BD_GRAVITY_AFFECTS_ALL,
+ ED_LEVEL_SETTINGS_XPOS(0), ED_LEVEL_SETTINGS_YPOS(9),
+ GADGET_ID_BD_GRAVITY_AFFECTS_ALL, GADGET_ID_NONE,
+ &level.bd_gravity_affects_all,
+ NULL, NULL,
+ "gravity change affects everything", "gravity affects all falling objects"
+ },
// ---------- element settings: configure (various elements) ----------------
NULL, NULL,
"can move diagonally", "player can move diagonally"
},
+ {
+ ED_CHECKBUTTON_ID_BD_TOPMOST_PLAYER_ACTIVE,
+ ED_ELEMENT_SETTINGS_XPOS(0), ED_ELEMENT_SETTINGS_YPOS(1),
+ GADGET_ID_BD_TOPMOST_PLAYER_ACTIVE, GADGET_ID_NONE,
+ &level.bd_topmost_player_active,
+ NULL, NULL,
+ "topmost player is active", "use first player found on playfield"
+ },
{
ED_CHECKBUTTON_ID_ENVELOPE_AUTOWRAP,
ED_ELEMENT_SETTINGS_XPOS(0), ED_ELEMENT_SETTINGS_YPOS(1),
}
if (IS_BD_PLAYER_ELEMENT(properties_element))
+ {
MapCheckbuttonGadget(ED_CHECKBUTTON_ID_BD_DIAGONAL_MOVEMENTS);
+ MapCheckbuttonGadget(ED_CHECKBUTTON_ID_BD_TOPMOST_PLAYER_ACTIVE);
+ }
// special case: slippery walls option for gems only available in R'n'D game engine
if (IS_GEM(properties_element) && level.game_engine_type == GAME_ENGINE_TYPE_RND)