projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed panel content of closing door 1 when leaving game to main menu
[rocksndiamonds.git]
/
src
/
game.c
diff --git
a/src/game.c
b/src/game.c
index c02e590f5fb026eb3d4c59cf09a03725a804b265..0b2d47fd4bb2f618fc1cb208d5e6aa98437e6b04 100644
(file)
--- a/
src/game.c
+++ b/
src/game.c
@@
-3083,6
+3083,7
@@
void InitGame()
{
int full_lev_fieldx = lev_fieldx + (BorderElement != EL_EMPTY ? 2 : 0);
int full_lev_fieldy = lev_fieldy + (BorderElement != EL_EMPTY ? 2 : 0);
{
int full_lev_fieldx = lev_fieldx + (BorderElement != EL_EMPTY ? 2 : 0);
int full_lev_fieldy = lev_fieldy + (BorderElement != EL_EMPTY ? 2 : 0);
+ int fade_mask = REDRAW_FIELD;
boolean emulate_bd = TRUE; /* unless non-BOULDERDASH elements found */
boolean emulate_sb = TRUE; /* unless non-SOKOBAN elements found */
boolean emulate_bd = TRUE; /* unless non-BOULDERDASH elements found */
boolean emulate_sb = TRUE; /* unless non-SOKOBAN elements found */
@@
-3097,15
+3098,20
@@
void InitGame()
if (!game.restart_level)
CloseDoor(DOOR_CLOSE_1);
if (!game.restart_level)
CloseDoor(DOOR_CLOSE_1);
+ /* needed if different viewport properties defined for playing */
+ ChangeViewportPropertiesIfNeeded();
+
if (level_editor_test_game)
FadeSkipNextFadeIn();
else
FadeSetEnterScreen();
if (level_editor_test_game)
FadeSkipNextFadeIn();
else
FadeSetEnterScreen();
- FadeOut(REDRAW_FIELD);
+ if (CheckIfGlobalBorderHasChanged())
+ fade_mask = REDRAW_ALL;
- /* needed if different viewport properties defined for playing */
- ChangeViewportPropertiesIfNeeded();
+ FadeOut(fade_mask);
+
+ ClearField();
DrawCompleteVideoDisplay();
DrawCompleteVideoDisplay();
@@
-3919,7
+3925,7
@@
void InitGame()
BlitScreenToBitmap(backbuffer);
/* !!! FIX THIS (END) !!! */
BlitScreenToBitmap(backbuffer);
/* !!! FIX THIS (END) !!! */
- FadeIn(
REDRAW_FIELD
);
+ FadeIn(
fade_mask
);
#if 1
// full screen redraw is required at this point in the following cases:
#if 1
// full screen redraw is required at this point in the following cases:
@@
-3948,9
+3954,14
@@
void InitGame()
{
UnmapGameButtons();
UnmapTapeButtons();
{
UnmapGameButtons();
UnmapTapeButtons();
+
+ FreeGameButtons();
+ CreateGameButtons();
+
game_gadget[SOUND_CTRL_ID_MUSIC]->checked = setup.sound_music;
game_gadget[SOUND_CTRL_ID_LOOPS]->checked = setup.sound_loops;
game_gadget[SOUND_CTRL_ID_SIMPLE]->checked = setup.sound_simple;
game_gadget[SOUND_CTRL_ID_MUSIC]->checked = setup.sound_music;
game_gadget[SOUND_CTRL_ID_LOOPS]->checked = setup.sound_loops;
game_gadget[SOUND_CTRL_ID_SIMPLE]->checked = setup.sound_simple;
+
MapGameButtons();
MapTapeButtons();
MapGameButtons();
MapTapeButtons();
@@
-4405,7
+4416,7
@@
void GameEnd()
{
game_status = GAME_MODE_MAIN;
{
game_status = GAME_MODE_MAIN;
- Draw
AndFadeInMainMenu(REDRAW_FIELD
);
+ Draw
MainMenu(
);
return;
}
return;
}
@@
-4416,7
+4427,7
@@
void GameEnd()
game_status = GAME_MODE_MAIN;
game_status = GAME_MODE_MAIN;
- Draw
AndFadeInMainMenu(REDRAW_FIELD
);
+ Draw
MainMenu(
);
return;
}
return;
}
@@
-4435,9
+4446,6
@@
void GameEnd()
{
game_status = GAME_MODE_SCORES;
{
game_status = GAME_MODE_SCORES;
- /* needed if different viewport properties defined for scores */
- ChangeViewportPropertiesIfNeeded();
-
DrawHallOfFame(hi_pos);
if (raise_level)
DrawHallOfFame(hi_pos);
if (raise_level)
@@
-4458,7
+4466,7
@@
void GameEnd()
TapeErase();
}
TapeErase();
}
- Draw
AndFadeInMainMenu(REDRAW_FIELD
);
+ Draw
MainMenu(
);
}
}
}
}
@@
-11057,9
+11065,18
@@
void GameActions()
if (tape.playing && tape.warp_forward && !tape.pausing)
game_frame_delay_value = 0;
if (tape.playing && tape.warp_forward && !tape.pausing)
game_frame_delay_value = 0;
+#if 0
+ /* ---------- main game synchronization point ---------- */
+
+ int skip = WaitUntilDelayReached(&game_frame_delay, game_frame_delay_value);
+
+ printf("::: skip == %d\n", skip);
+
+#else
/* ---------- main game synchronization point ---------- */
WaitUntilDelayReached(&game_frame_delay, game_frame_delay_value);
/* ---------- main game synchronization point ---------- */
WaitUntilDelayReached(&game_frame_delay, game_frame_delay_value);
+#endif
if (network_playing && !network_player_action_received)
{
if (network_playing && !network_player_action_received)
{
@@
-14461,13
+14478,13
@@
void RequestQuitGameExt(boolean skip_request, boolean quick_quit, char *message)
game_status = GAME_MODE_MAIN;
game_status = GAME_MODE_MAIN;
- Draw
AndFadeInMainMenu(REDRAW_FIELD
);
+ Draw
MainMenu(
);
}
else
{
game_status = GAME_MODE_MAIN;
}
else
{
game_status = GAME_MODE_MAIN;
- Draw
AndFadeInMainMenu(REDRAW_FIELD
);
+ Draw
MainMenu(
);
}
}
}
}
}
}