projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added support for meta/windows/command key for window scaling shortcuts
[rocksndiamonds.git]
/
src
/
tools.c
diff --git
a/src/tools.c
b/src/tools.c
index 9f6526a3a562416d90f23745436e1592aac0ba81..972e5a24eab5b0e4ea6551fadf86276a4cc627fd 100644
(file)
--- a/
src/tools.c
+++ b/
src/tools.c
@@
-17,7
+17,7
@@
#include "init.h"
#include "game.h"
#include "events.h"
#include "init.h"
#include "game.h"
#include "events.h"
-#include "
cartoons
.h"
+#include "
anim
.h"
#include "network.h"
#include "tape.h"
#include "screens.h"
#include "network.h"
#include "tape.h"
#include "screens.h"
@@
-174,9
+174,6
@@
static int el_act2crm(int, int);
static struct GadgetInfo *tool_gadget[NUM_TOOL_BUTTONS];
static int request_gadget_id = -1;
static struct GadgetInfo *tool_gadget[NUM_TOOL_BUTTONS];
static int request_gadget_id = -1;
-static unsigned int sync_frame_delay = 0;
-static unsigned int sync_frame_delay_value = GAME_FRAME_DELAY;
-
static char *print_if_not_empty(int element)
{
static char *s = NULL;
static char *print_if_not_empty(int element)
{
static char *s = NULL;
@@
-590,6
+587,17
@@
void BackToFront()
#endif
}
#endif
}
+void BackToFront_WithFrameDelay(unsigned int frame_delay_value)
+{
+ unsigned int frame_delay_value_old = GetVideoFrameDelay();
+
+ SetVideoFrameDelay(frame_delay_value);
+
+ BackToFront();
+
+ SetVideoFrameDelay(frame_delay_value_old);
+}
+
static void FadeCrossSaveBackbuffer()
{
BlitBitmap(backbuffer, bitmap_db_cross, 0, 0, WIN_XSIZE, WIN_YSIZE, 0, 0);
static void FadeCrossSaveBackbuffer()
{
BlitBitmap(backbuffer, bitmap_db_cross, 0, 0, WIN_XSIZE, WIN_YSIZE, 0, 0);
@@
-2592,7
+2600,6
@@
void AnimateEnvelopeRequest(int anim_mode, int action)
redraw_mask |= REDRAW_FIELD;
redraw_mask |= REDRAW_FIELD;
- DoAnimation();
BackToFront();
SkipUntilDelayReached(&anim_delay, anim_delay_value, &i, last_frame);
BackToFront();
SkipUntilDelayReached(&anim_delay, anim_delay_value, &i, last_frame);
@@
-2639,9
+2646,6
@@
void ShowEnvelopeRequest(char *text, unsigned int req_state, int action)
}
DrawEnvelopeRequest(text);
}
DrawEnvelopeRequest(text);
-
- if (game_status != GAME_MODE_MAIN)
- InitAnimation();
}
game.envelope_active = TRUE; /* needed for RedrawPlayfield() events */
}
game.envelope_active = TRUE; /* needed for RedrawPlayfield() events */
@@
-2669,20
+2673,12
@@
void ShowEnvelopeRequest(char *text, unsigned int req_state, int action)
game.envelope_active = FALSE;
if (action == ACTION_CLOSING)
game.envelope_active = FALSE;
if (action == ACTION_CLOSING)
- {
- if (game_status != GAME_MODE_MAIN)
- StopAnimation();
-
BlitBitmap(bitmap_db_store, backbuffer, 0, 0, WIN_XSIZE, WIN_YSIZE, 0, 0);
BlitBitmap(bitmap_db_store, backbuffer, 0, 0, WIN_XSIZE, WIN_YSIZE, 0, 0);
- }
// SetDrawBackgroundMask(last_draw_background_mask);
redraw_mask |= REDRAW_FIELD;
// SetDrawBackgroundMask(last_draw_background_mask);
redraw_mask |= REDRAW_FIELD;
- if (game_status == GAME_MODE_MAIN)
- DoAnimation();
-
BackToFront();
if (action == ACTION_CLOSING &&
BackToFront();
if (action == ACTION_CLOSING &&
@@
-3545,9
+3541,7
@@
void WaitForEventToContinue()
still_wait = FALSE;
}
still_wait = FALSE;
}
- DoAnimation();
-
- WaitUntilDelayReached(&sync_frame_delay, sync_frame_delay_value);
+ BackToFront();
}
}
}
}
@@
-3715,14
+3709,8
@@
static int RequestHandleEvents(unsigned int req_state)
BlitBitmap(drawto, bitmap_db_cross, sx, sy, width, height, sx, sy);
}
}
BlitBitmap(drawto, bitmap_db_cross, sx, sy, width, height, sx, sy);
}
}
- else
- {
- DoAnimation();
- }
BackToFront();
BackToFront();
-
- WaitUntilDelayReached(&sync_frame_delay, sync_frame_delay_value);
}
return result;
}
return result;
@@
-3866,17
+3854,11
@@
static boolean RequestDoor(char *text, unsigned int req_state)
return FALSE;
}
return FALSE;
}
- if (game_status != GAME_MODE_MAIN)
- InitAnimation();
-
SetDrawBackgroundMask(REDRAW_FIELD | REDRAW_DOOR_1);
// ---------- handle request buttons ----------
result = RequestHandleEvents(req_state);
SetDrawBackgroundMask(REDRAW_FIELD | REDRAW_DOOR_1);
// ---------- handle request buttons ----------
result = RequestHandleEvents(req_state);
- if (game_status != GAME_MODE_MAIN)
- StopAnimation();
-
UnmapToolButtons();
if (!(req_state & REQ_STAY_OPEN))
UnmapToolButtons();
if (!(req_state & REQ_STAY_OPEN))
@@
-3971,9
+3953,6
@@
static boolean RequestEnvelope(char *text, unsigned int req_state)
// ---------- handle request buttons ----------
result = RequestHandleEvents(req_state);
// ---------- handle request buttons ----------
result = RequestHandleEvents(req_state);
- if (game_status != GAME_MODE_MAIN)
- StopAnimation();
-
UnmapToolButtons();
ShowEnvelopeRequest(text, req_state, ACTION_CLOSING);
UnmapToolButtons();
ShowEnvelopeRequest(text, req_state, ACTION_CLOSING);
@@
-4567,9
+4546,6
@@
unsigned int MoveDoor(unsigned int door_state)
{
BackToFront();
{
BackToFront();
- if (game_status == GAME_MODE_MAIN)
- DoAnimation();
-
SkipUntilDelayReached(&door_delay, door_delay_value, &k, last_frame);
current_move_delay += max_step_delay;
SkipUntilDelayReached(&door_delay, door_delay_value, &k, last_frame);
current_move_delay += max_step_delay;
@@
-8363,7
+8339,7
@@
void ChangeViewportPropertiesIfNeeded()
int new_scr_fieldy_buffers = new_sysize / new_tilesize_var;
boolean init_gfx_buffers = FALSE;
boolean init_video_buffer = FALSE;
int new_scr_fieldy_buffers = new_sysize / new_tilesize_var;
boolean init_gfx_buffers = FALSE;
boolean init_video_buffer = FALSE;
- boolean init_gadgets_and_
toon
s = FALSE;
+ boolean init_gadgets_and_
anim
s = FALSE;
boolean init_em_graphics = FALSE;
if (new_win_xsize != WIN_XSIZE ||
boolean init_em_graphics = FALSE;
if (new_win_xsize != WIN_XSIZE ||
@@
-8374,7
+8350,7
@@
void ChangeViewportPropertiesIfNeeded()
init_video_buffer = TRUE;
init_gfx_buffers = TRUE;
init_video_buffer = TRUE;
init_gfx_buffers = TRUE;
- init_gadgets_and_
toon
s = TRUE;
+ init_gadgets_and_
anim
s = TRUE;
// printf("::: video: init_video_buffer, init_gfx_buffers\n");
}
// printf("::: video: init_video_buffer, init_gfx_buffers\n");
}
@@
-8489,10
+8465,10
@@
void ChangeViewportPropertiesIfNeeded()
TILESIZE_VAR = new_tilesize_var;
init_gfx_buffers = TRUE;
TILESIZE_VAR = new_tilesize_var;
init_gfx_buffers = TRUE;
- init_gadgets_and_
toon
s = TRUE;
+ init_gadgets_and_
anim
s = TRUE;
// printf("::: viewports: init_gfx_buffers\n");
// printf("::: viewports: init_gfx_buffers\n");
- // printf("::: viewports: init_gadgets_and_
toon
s\n");
+ // printf("::: viewports: init_gadgets_and_
anim
s\n");
}
if (init_gfx_buffers)
}
if (init_gfx_buffers)
@@
-8519,12
+8495,11
@@
void ChangeViewportPropertiesIfNeeded()
InitImageTextures();
}
InitImageTextures();
}
- if (init_gadgets_and_
toon
s)
+ if (init_gadgets_and_
anim
s)
{
{
- // printf("::: init_gadgets_and_
toon
s\n");
+ // printf("::: init_gadgets_and_
anim
s\n");
InitGadgets();
InitGadgets();
- InitToons();
InitGlobalAnimations();
}
InitGlobalAnimations();
}