projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed bug with extremely slow envelopes when using "request.step_delay: 0"
[rocksndiamonds.git]
/
src
/
tools.c
diff --git
a/src/tools.c
b/src/tools.c
index 1230cf0ab482d1e455907ffba4c854c0677b48c8..21f062b41cdc21fb2bfc3c257f08ffbefc87d9f7 100644
(file)
--- a/
src/tools.c
+++ b/
src/tools.c
@@
-1444,13
+1444,6
@@
void getSizedGraphicSourceExt(int graphic, int frame, int tilesize,
*y = *y * tilesize / g->tile_size;
}
*y = *y * tilesize / g->tile_size;
}
-void getFixedGraphicSourceExt(int graphic, int frame, Bitmap **bitmap,
- int *x, int *y, boolean get_backside)
-{
- getSizedGraphicSourceExt(graphic, frame, TILESIZE, bitmap, x, y,
- get_backside);
-}
-
void getSizedGraphicSource(int graphic, int frame, int tilesize,
Bitmap **bitmap, int *x, int *y)
{
void getSizedGraphicSource(int graphic, int frame, int tilesize,
Bitmap **bitmap, int *x, int *y)
{
@@
-2518,7
+2511,7
@@
void AnimateEnvelope(int envelope_nr, int anim_mode, int action)
boolean no_delay = (tape.warp_forward);
unsigned int anim_delay = 0;
int frame_delay_value = (ffwd_delay ? FfwdFrameDelay : GameFrameDelay);
boolean no_delay = (tape.warp_forward);
unsigned int anim_delay = 0;
int frame_delay_value = (ffwd_delay ? FfwdFrameDelay : GameFrameDelay);
- int anim_delay_value =
(no_delay ? 0 : frame_delay_value) / 2
;
+ int anim_delay_value =
MAX(1, (no_delay ? 0 : frame_delay_value) / 2)
;
int font_nr = FONT_ENVELOPE_1 + envelope_nr;
int font_width = getFontWidth(font_nr);
int font_height = getFontHeight(font_nr);
int font_nr = FONT_ENVELOPE_1 + envelope_nr;
int font_width = getFontWidth(font_nr);
int font_height = getFontHeight(font_nr);
@@
-2775,7
+2768,7
@@
void AnimateEnvelopeRequest(int anim_mode, int action)
boolean ffwd_delay = (tape.playing && tape.fast_forward);
boolean no_delay = (tape.warp_forward);
int delay_value = (ffwd_delay ? delay_value_fast : delay_value_normal);
boolean ffwd_delay = (tape.playing && tape.fast_forward);
boolean no_delay = (tape.warp_forward);
int delay_value = (ffwd_delay ? delay_value_fast : delay_value_normal);
- int anim_delay_value =
(no_delay ? 0 : delay_value + 500 * 0) / 2
;
+ int anim_delay_value =
MAX(1, (no_delay ? 0 : delay_value + 500 * 0) / 2)
;
unsigned int anim_delay = 0;
int tile_size = MAX(request.step_offset, 1);
unsigned int anim_delay = 0;
int tile_size = MAX(request.step_offset, 1);