rnd-20070913-1-src
authorHolger Schemel <info@artsoft.org>
Wed, 12 Sep 2007 22:37:51 +0000 (00:37 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:56:14 +0000 (10:56 +0200)
* fixed some problems with displaying game panel when quick-loading tape

ChangeLog
src/conftime.h
src/game.c
src/game.h
src/libgame/sound.c
src/screens.c
src/tape.c

index 229f200013aeeb3f5e76b835e52d40fe187e47b7..12d0f0f853b0c656e2f2e20d36c7501d32f2a802 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2007-09-12
+       * fixed some problems with displaying game panel when quick-loading tape
+
 2007-09-07
        * fixed (experimental only) redrawing of every tile per frame (even if
          unneeded) for the extended (R'n'D based) EMC graphics engine
index 55d02dcbcf1ba7e356282cca6f7ec156e6511a24..a67c325a34627e0c139e7015cf3f570b480dbd39 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "2007-09-08 02:19"
+#define COMPILE_DATE_STRING "2007-09-12 23:07"
index 31aca3936131a87b1fea9e796b16fb096683d25a..2cd5f41f7c9b42d5e41e3d761fb8affab20bda05 100644 (file)
@@ -2662,6 +2662,15 @@ void DisplayGameControlValues()
   game_status = GAME_MODE_PLAYING;
 }
 
+void UpdateAndDisplayGameControlValues()
+{
+  if (tape.warp_forward)
+    return;
+
+  UpdateGameControlValues();
+  DisplayGameControlValues();
+}
+
 void DrawGameValue_Emeralds(int value)
 {
   struct TextPosInfo *pos = &game.panel.gems;
@@ -4213,8 +4222,12 @@ void InitGame()
   SetPanelBackground();
   SetDrawBackgroundMask(REDRAW_DOOR_1);
 
+#if 1
+  UpdateAndDisplayGameControlValues();
+#else
   UpdateGameDoorValues();
   DrawGameDoorValues();
+#endif
 
   if (!game.restart_level)
   {
@@ -11421,8 +11434,12 @@ static void CheckLevelTime()
       DrawVideoDisplay(VIDEO_STATE_TIME_ON, TapeTime);
   }
 
+#if 1
+  UpdateAndDisplayGameControlValues();
+#else
   UpdateGameDoorValues();
   DrawGameDoorValues();
+#endif
 }
 
 void AdvanceFrameAndPlayerCounters(int player_nr)
index d68147085c70fd0a9110834513e54513c443fb1b..c1fb5b127127675c74e5ac749ad53eb9f2d7eccc 100644 (file)
@@ -307,6 +307,8 @@ int GetElementFromGroupElement(int);
 void DrawGameValue_Time(int);
 void DrawGameDoorValues(void);
 
+void UpdateAndDisplayGameControlValues();
+
 void InitGameSound();
 void InitGame();
 
index fc187139f9164b83e0ff4ab2d4c6e8f89624560d..b80cccab57ca3636078e1d8af1e23fb376d2f97e 100644 (file)
@@ -1559,6 +1559,8 @@ static void *Load_WAV(char *filename)
 
 #else /* AUDIO_UNIX_NATIVE */
 
+  clear_mem(&header, sizeof(struct SoundHeader_WAV));  /* to make gcc happy */
+
   if ((file = fopen(filename, MODE_READ)) == NULL)
   {
     Error(ERR_WARN, "cannot open sound file '%s'", filename);
index efd320ee62e11ea9cc208e8552daf1a2171ae9ef..ec482ba103a418556d8560a9f1dae19642673a35 100644 (file)
@@ -1269,9 +1269,11 @@ void DrawMainMenuExt(int fade_mask, boolean do_fading)
 
   /* needed if last screen was the editor screen */
   UndrawSpecialEditorDoor();
+#if 0
   if (fade_mask == REDRAW_FIELD)
     BackToFront();
 #endif
+#endif
 
 #if defined(TARGET_SDL)
   SetDrawtoField(DRAW_BACKBUFFER);
@@ -1346,6 +1348,12 @@ void DrawMainMenuExt(int fade_mask, boolean do_fading)
   FadeIn(fade_mask);
   FadeSetEnterMenu();
 
+#if 1
+  /* update screen area with special editor door */
+  redraw_mask |= REDRAW_ALL;
+  BackToFront();
+#endif
+
   SetMouseCursor(CURSOR_DEFAULT);
 
   InitAnimation();
index 1aaabf55505f14819adaeb200b8344500ec3d9d8..fc90ad51461d9beccc831c1cb5c712268ae48074 100644 (file)
@@ -566,6 +566,10 @@ static void TapeAppendRecording()
 
   DrawVideoDisplay(VIDEO_STATE_DATE_ON, tape.date);
   DrawVideoDisplay(VIDEO_STATE_PLAY_OFF | VIDEO_STATE_REC_ON, 0);
+
+#if 1
+  UpdateAndDisplayGameControlValues();
+#endif
 }
 
 void TapeHaltRecording()