return sync_frame % g->anim_frames;
}
+ else if (graphic_info[graphic].anim_mode & ANIM_RANDOM_STATIC)
+ {
+ struct GraphicInfo *g = &graphic_info[graphic];
+ int x = (lx + lev_fieldx) % lev_fieldx;
+ int y = (ly + lev_fieldy) % lev_fieldy;
+ int sync_frame = GfxRandomStatic[x][y];
+
+ return sync_frame % g->anim_frames;
+ }
return getGraphicAnimationFrame(graphic, GfxFrame[lx][ly]);
}
int graphic;
int frame;
+ if (element == EL_EMPTY)
+ element = GfxElementEmpty[lx][ly];
+
if (IN_LEV_FIELD(lx, ly))
{
SetRandomAnimationValue(lx, ly);
if (!IN_LEV_FIELD(x, y) || !IN_SCR_FIELD(sx, sy))
return;
+ if (Tile[x][y] == EL_EMPTY)
+ graphic = el2img(GfxElementEmpty[x][y]);
+
if (!IS_NEW_FRAME(GfxFrame[x][y], graphic))
return;
+ if (ANIM_MODE(graphic) & (ANIM_TILED | ANIM_RANDOM_STATIC))
+ return;
+
DrawGraphicAnimation(sx, sy, graphic);
#if 1
* Note: this function is not for Win32 high precision timing purpose. See
* elapsed_time().
*/
-int gettimeofday_windows(struct timeval * tp, struct timezone * tzp)
+static int gettimeofday_windows(struct timeval * tp, struct timezone * tzp)
{
FILETIME file_time;
SYSTEMTIME system_time;