getSizedGraphicSource(graphic, 0, MINI_TILESIZE, bitmap, x, y);
}
-inline static void getGraphicSourceExt(int graphic, int frame, Bitmap **bitmap,
- int *x, int *y, boolean get_backside)
+static void getGraphicSourceExt(int graphic, int frame, Bitmap **bitmap,
+ int *x, int *y, boolean get_backside)
{
getSizedGraphicSourceExt(graphic, frame, TILESIZE_VAR, bitmap, x, y,
get_backside);
BlitBitmap(src_bitmap, d, src_x, src_y, MINI_TILEX, MINI_TILEY, x, y);
}
-inline static void DrawGraphicShiftedNormal(int x, int y, int dx, int dy,
- int graphic, int frame,
- int cut_mode, int mask_mode)
+static void DrawGraphicShiftedNormal(int x, int y, int dx, int dy,
+ int graphic, int frame,
+ int cut_mode, int mask_mode)
{
Bitmap *src_bitmap;
int src_x, src_y;
}
}
-inline static void DrawGraphicShiftedDouble(int x, int y, int dx, int dy,
- int graphic, int frame,
- int cut_mode, int mask_mode)
+static void DrawGraphicShiftedDouble(int x, int y, int dx, int dy,
+ int graphic, int frame,
+ int cut_mode, int mask_mode)
{
Bitmap *src_bitmap;
int src_x, src_y;
DrawNetworkPlayersExt(TRUE);
}
-inline static void DrawGraphicAnimationExt(DrawBuffer *dst_bitmap, int x, int y,
- int graphic, int sync_frame,
- int mask_mode)
+static void DrawGraphicAnimationExt(DrawBuffer *dst_bitmap, int x, int y,
+ int graphic, int sync_frame,
+ int mask_mode)
{
int frame = getGraphicAnimationFrame(graphic, sync_frame);
DrawFixedGraphicExt(dst_bitmap, x, y, graphic, frame);
}
-inline static void DrawGraphicAnimation(int x, int y, int graphic)
+static void DrawGraphicAnimation(int x, int y, int graphic)
{
int lx = LEVELX(x), ly = LEVELY(y);
static int RequestHandleEvents(unsigned int req_state)
{
- boolean level_solved = (game_status == GAME_MODE_PLAYING &&
- local_player->LevelSolved_GameEnd);
+ boolean game_just_ended = (game_status == GAME_MODE_PLAYING &&
+ checkGameEnded());
int width = request.width;
int height = request.height;
int sx, sy;
int result;
+ /* when showing request dialog after game ended, deactivate game panel */
+ if (game_just_ended)
+ game.panel.active = FALSE;
+
game.request_active = TRUE;
setRequestPosition(&sx, &sy, FALSE);
while (result < 0)
{
- if (level_solved)
+ if (game_just_ended)
{
/* the MM game engine does not use a special (scrollable) field buffer */
if (level.game_engine_type != GAME_ENGINE_TYPE_MM)
}
}
- if (level_solved)
+ if (game_just_ended)
{
if (global.use_envelope_request)
{
static struct Mapping_EM_to_RND_object object_mapping[TILE_MAX];
static struct Mapping_EM_to_RND_player player_mapping[MAX_PLAYERS][SPR_MAX];
-inline static int get_effective_element_EM(int tile, int frame_em)
+static int get_effective_element_EM(int tile, int frame_em)
{
int element = object_mapping[tile].element_rnd;
int action = object_mapping[tile].action;
}
}
-inline static boolean check_linear_animation_EM(int tile)
+static boolean check_linear_animation_EM(int tile)
{
switch (tile)
{
return FALSE;
}
-inline static void set_crumbled_graphics_EM(struct GraphicInfo_EM *g_em,
- boolean has_crumbled_graphics,
- int crumbled, int sync_frame)
+static void set_crumbled_graphics_EM(struct GraphicInfo_EM *g_em,
+ boolean has_crumbled_graphics,
+ int crumbled, int sync_frame)
{
/* if element can be crumbled, but certain action graphics are just empty
space (like instantly snapping sand to empty space in 1 frame), do not