projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added storing last game mode when setting new game mode
[rocksndiamonds.git]
/
src
/
tools.c
diff --git
a/src/tools.c
b/src/tools.c
index 133a8265d6eee5631b1db356305c27e24218e554..e99d26ce169ad18c33f601c674a684d6165ff0d6 100644
(file)
--- a/
src/tools.c
+++ b/
src/tools.c
@@
-926,6
+926,10
@@
void FadeIn(int fade_mask)
FADE_SXSIZE = FULL_SXSIZE;
FADE_SYSIZE = FULL_SYSIZE;
FADE_SXSIZE = FULL_SXSIZE;
FADE_SYSIZE = FULL_SYSIZE;
+ if (game_status == GAME_MODE_PLAYING &&
+ strEqual(setup.touch.control_type, TOUCH_CONTROL_VIRTUAL_BUTTONS))
+ SetOverlayActive(TRUE);
+
SetScreenStates_AfterFadingIn();
// force update of global animation status in case of rapid screen changes
SetScreenStates_AfterFadingIn();
// force update of global animation status in case of rapid screen changes
@@
-941,6
+945,8
@@
void FadeOut(int fade_mask)
SetScreenStates_BeforeFadingOut();
SetScreenStates_BeforeFadingOut();
+ SetOverlayActive(FALSE);
+
#if 0
DrawMaskedBorder(REDRAW_ALL);
#endif
#if 0
DrawMaskedBorder(REDRAW_ALL);
#endif
@@
-4211,10
+4217,19
@@
static boolean RequestEnvelope(char *text, unsigned int req_state)
boolean Request(char *text, unsigned int req_state)
{
boolean Request(char *text, unsigned int req_state)
{
+ boolean overlay_active = GetOverlayActive();
+ boolean result;
+
+ SetOverlayActive(FALSE);
+
if (global.use_envelope_request)
if (global.use_envelope_request)
- re
turn
RequestEnvelope(text, req_state);
+ re
sult =
RequestEnvelope(text, req_state);
else
else
- return RequestDoor(text, req_state);
+ result = RequestDoor(text, req_state);
+
+ SetOverlayActive(overlay_active);
+
+ return result;
}
static int compareDoorPartOrderInfo(const void *object1, const void *object2)
}
static int compareDoorPartOrderInfo(const void *object1, const void *object2)
@@
-8492,6
+8507,9
@@
void SetAnimStatus(int anim_status_new)
void SetGameStatus(int game_status_new)
{
void SetGameStatus(int game_status_new)
{
+ if (game_status_new != game_status)
+ game_status_last_screen = game_status;
+
game_status = game_status_new;
SetAnimStatus(game_status_new);
game_status = game_status_new;
SetAnimStatus(game_status_new);