X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=57c7b87326383a566c1e09974e3d4d1aafa928e8;hb=01342840f91b6a1a215d4f7ed90cddbe7da18099;hp=0fa3035d4fce292bfa48d717d8e0a2ae697397da;hpb=14d7691c65ca4a466ce9b9448153e8fbe8351a81;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index 0fa3035d..57c7b873 100644 --- a/src/game.c +++ b/src/game.c @@ -2575,7 +2575,7 @@ void DisplayGameControlValues() void UpdateAndDisplayGameControlValues() { - if (tape.warp_forward) + if (tape.deactivate_display) return; UpdateGameControlValues(); @@ -3909,6 +3909,14 @@ void InitGame() FadeIn(REDRAW_FIELD); +#if 1 + // full screen redraw is required at this point in the following cases: + // - special editor door undrawn when game was started from level editor + // - drawing area (playfield) was changed and has to be removed completely + redraw_mask = REDRAW_ALL; + BackToFront(); +#endif + if (!game.restart_level) { /* copy default game door content to main double buffer */ @@ -10824,6 +10832,9 @@ static void CheckLevelTime() DrawVideoDisplay(VIDEO_STATE_TIME_ON, TapeTime); } + if (tape.recording || tape.playing) + DrawVideoDisplay(VIDEO_STATE_FRAME_ON, FrameCounter); + UpdateAndDisplayGameControlValues(); } @@ -14689,7 +14700,7 @@ boolean CheckEngineSnapshot() static struct { int graphic; - struct Rect *pos; + struct XY *pos; int gadget_id; char *infotext; } gamebutton_info[NUM_GAME_BUTTONS] = @@ -14735,7 +14746,7 @@ void CreateGameButtons() for (i = 0; i < NUM_GAME_BUTTONS; i++) { struct GraphicInfo *gfx = &graphic_info[gamebutton_info[i].graphic]; - struct Rect *pos = gamebutton_info[i].pos; + struct XY *pos = gamebutton_info[i].pos; struct GadgetInfo *gi; int button_type; boolean checked;