Skip to content

Commit 775850d

Browse files
EmilyV99connorjclark
authored andcommitted
fix(zq): 'delay' animation preview was calculated wrong
1 parent 440d29f commit 775850d

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/zq/gui/tileanim_frame.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,12 @@ int32_t tile_anim_proc(int32_t msg,DIALOG *d,int32_t c)
1818
int32_t *data = ((int32_t*)d->dp);
1919
int32_t &clk = data[TileFrame::tfr_aclk];
2020
int32_t &frm = data[TileFrame::tfr_aframe];
21+
int32_t delay = -data[TileFrame::tfr_delay] * data[TileFrame::tfr_speed];
2122
switch(msg)
2223
{
2324
case MSG_START:
2425
{
25-
clk = 0;
26+
clk = delay;
2627
break;
2728
}
2829
case MSG_VSYNC:
@@ -33,22 +34,22 @@ int32_t tile_anim_proc(int32_t msg,DIALOG *d,int32_t c)
3334
break; //nothing to animate
3435
if(++clk > data[TileFrame::tfr_speed])
3536
d->flags |= D_DIRTY; //mark for redraw
36-
else if(clk < -data[TileFrame::tfr_delay])
37-
clk = -data[TileFrame::tfr_delay]; //Handle delay modification
37+
else if(clk < delay)
38+
clk = delay; //Handle delay modification
3839
if(clk >= data[TileFrame::tfr_speed])
3940
{
4041
clk %= data[TileFrame::tfr_speed];
4142
if(++frm >= data[TileFrame::tfr_frames])
4243
{
4344
frm %= data[TileFrame::tfr_frames];
44-
clk = -data[TileFrame::tfr_delay];
45+
clk = delay;
4546
}
4647
d->flags |= D_DIRTY;
4748
}
4849
else if(frm >= data[TileFrame::tfr_frames])
4950
{ //Incase frames was changed
5051
frm %= data[TileFrame::tfr_frames];
51-
clk = -data[TileFrame::tfr_delay];
52+
clk = delay;
5253
d->flags |= D_DIRTY;
5354
}
5455
break;

0 commit comments

Comments
 (0)