return bitmap;
}
-// workaround to prevent variable name scope problem
-static boolean use_native_bd_graphics_engine(void)
-{
- return game.use_native_bd_graphics_engine;
-}
-
// returns true if the element is a player
static inline boolean is_player(const int element)
{
boolean is_movable = (can_move(tile) || can_fall(tile) || is_pushable(tile) || is_player(tile));
boolean is_movable_or_diggable = (is_movable || is_diggable(game->last_element_buffer[y][x]));
boolean is_moving = (is_movable_or_diggable && dir != GD_MV_STILL);
- boolean use_smooth_movements =
- ((setup.bd_smooth_movements == TRUE) ||
- (setup.bd_smooth_movements == AUTO && !use_native_bd_graphics_engine()));
+ boolean use_smooth_movements = use_bd_smooth_movements();
// do not use smooth movement animation for exploding game elements (like player)
if (is_explosion(tile) && dir != GD_MV_STILL)
void InitGameEngine_BD(void);
void GameActions_BD(byte[MAX_PLAYERS]);
+boolean use_native_bd_graphics_engine(void);
+boolean use_bd_smooth_movements(void);
+
Bitmap **GetTitleScreenBitmaps_BD(void);
void CoverScreen_BD(void);
// graphics functions
// ============================================================================
+// check if native BD graphics engine requested in custom graphics configuration
+boolean use_native_bd_graphics_engine(void)
+{
+ return game.use_native_bd_graphics_engine;
+}
+
+// check if smooth game element movements selected in setup menu
+boolean use_bd_smooth_movements(void)
+{
+ return ((setup.bd_smooth_movements == TRUE) ||
+ (setup.bd_smooth_movements == AUTO && !use_native_bd_graphics_engine()));
+}
+
Bitmap **GetTitleScreenBitmaps_BD(void)
{
Bitmap **title_screen_bitmaps = gd_get_title_screen_bitmaps();