X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fgame.c;h=028e9f4ef91da6b372e5b9547d6f4d822c436c38;hb=c1c9de2021829175454f24aa198cc9d23a48ab65;hp=8273cb71fb796e803a5481e96001a59ce560b30d;hpb=00b53c1316174dabc310c5967beee2edb4fa0842;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index 8273cb71..028e9f4e 100644 --- a/src/game.c +++ b/src/game.c @@ -1949,7 +1949,7 @@ static void InitField(int x, int y, boolean init_game) CheckTriggeredElementChange(x, y, element, CE_CREATION_OF_X); } -static inline void InitField_WithBug1(int x, int y, boolean init_game) +inline static void InitField_WithBug1(int x, int y, boolean init_game) { InitField(x, y, init_game); @@ -1959,7 +1959,7 @@ static inline void InitField_WithBug1(int x, int y, boolean init_game) InitMovDir(x, y); } -static inline void InitField_WithBug2(int x, int y, boolean init_game) +inline static void InitField_WithBug2(int x, int y, boolean init_game) { int old_element = Feld[x][y]; @@ -3091,9 +3091,10 @@ void InitGame() int initial_move_dir = MV_DOWN; int i, j, x, y; - game_status = GAME_MODE_PLAYING; + // required here to update video display before fading (FIX THIS) + DrawMaskedBorder(REDRAW_DOOR_2); - StopAnimation(); + game_status = GAME_MODE_PLAYING; if (!game.restart_level) CloseDoor(DOOR_CLOSE_1); @@ -3111,6 +3112,8 @@ void InitGame() FadeOut(fade_mask); + OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW); + ClearField(); DrawCompleteVideoDisplay(); @@ -3925,6 +3928,8 @@ void InitGame() BlitScreenToBitmap(backbuffer); /* !!! FIX THIS (END) !!! */ + DrawMaskedBorder(fade_mask); + FadeIn(fade_mask); #if 1 @@ -4970,7 +4975,7 @@ void DrawRelocateScreen(int old_x, int old_y, int x, int y, int move_dir, } } - RedrawPlayfield(TRUE, 0,0,0,0); + RedrawPlayfield(); } else {