projects
/
rocksndiamonds.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
27d25dc
)
added showing game actions after game end when request envelope opens/closes
author
Holger Schemel
<info@artsoft.org>
Sat, 2 Dec 2023 10:42:24 +0000
(11:42 +0100)
committer
Holger Schemel
<info@artsoft.org>
Sat, 2 Dec 2023 11:19:17 +0000
(12:19 +0100)
src/tools.c
patch
|
blob
|
history
diff --git
a/src/tools.c
b/src/tools.c
index f7fc34a2cd06ecfd80caa488e711d7d96ce92cbc..8a8924e3c58646f4f34309a3eafad5e496dc6d1d 100644
(file)
--- a/
src/tools.c
+++ b/
src/tools.c
@@
-3255,6
+3255,8
@@
static void DrawEnvelopeRequest(char *text, unsigned int req_state)
static void AnimateEnvelopeRequest(int anim_mode, int action)
{
static void AnimateEnvelopeRequest(int anim_mode, int action)
{
+ boolean game_just_ended = (game_status == GAME_MODE_PLAYING &&
+ checkGameEnded());
int delay_value_normal = request.step_delay;
int delay_value_fast = delay_value_normal / 2;
boolean ffwd_delay = (tape.playing && tape.fast_forward);
int delay_value_normal = request.step_delay;
int delay_value_fast = delay_value_normal / 2;
boolean ffwd_delay = (tape.playing && tape.fast_forward);
@@
-3303,6
+3305,9
@@
static void AnimateEnvelopeRequest(int anim_mode, int action)
int dst_x, dst_y;
int xx, yy;
int dst_x, dst_y;
int xx, yy;
+ if (game_just_ended)
+ HandleGameActions();
+
setRequestPosition(&src_x, &src_y, FALSE);
setRequestPositionExt(&dst_x, &dst_y, width, height, FALSE);
setRequestPosition(&src_x, &src_y, FALSE);
setRequestPositionExt(&dst_x, &dst_y, width, height, FALSE);
@@
-4504,10
+4509,6
@@
static int RequestHandleEvents(unsigned int req_state, int draw_buffer_game)
int sx, sy;
int result;
int sx, sy;
int result;
- // when showing request dialog after game ended, deactivate game panel
- if (game_just_ended)
- game.panel.active = FALSE;
-
setRequestPosition(&sx, &sy, FALSE);
button_status = MB_RELEASED;
setRequestPosition(&sx, &sy, FALSE);
button_status = MB_RELEASED;
@@
-5082,9
+5083,15
@@
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 game_just_ended = (game_status == GAME_MODE_PLAYING &&
+ checkGameEnded());
boolean overlay_enabled = GetOverlayEnabled();
boolean result;
boolean overlay_enabled = GetOverlayEnabled();
boolean result;
+ // when showing request dialog after game ended, deactivate game panel
+ if (game_just_ended)
+ game.panel.active = FALSE;
+
game.request_active = TRUE;
SetOverlayEnabled(FALSE);
game.request_active = TRUE;
SetOverlayEnabled(FALSE);