void UpdateAndDisplayGameControlValues()
{
- if (tape.warp_forward)
+ if (tape.deactivate_display)
return;
UpdateGameControlValues();
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 */
DrawVideoDisplay(VIDEO_STATE_TIME_ON, TapeTime);
}
+ if (tape.recording || tape.playing)
+ DrawVideoDisplay(VIDEO_STATE_FRAME_ON, FrameCounter);
+
UpdateAndDisplayGameControlValues();
}
static struct
{
int graphic;
- struct Rect *pos;
+ struct XY *pos;
int gadget_id;
char *infotext;
} gamebutton_info[NUM_GAME_BUTTONS] =
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;