An attempt to improve water and lava animation performance
By allowing one frame's worth of random shift to the animation start times, the load of redrawing water hexes is distributed more evenly across frames instead of all water always getting redrawn in the same frame. The visual impact of having animations in adjacent hexes be one frame apart should be practically imperceptible, although visibility in screenshots might be a legitimate problem. Transition animations are kept synced, because there can be up to six transition images on one hex so it seems safer performance-wise to draw all transitions in the same frame instead of letting them all get individually shifted. Also increased the frame durations from 100 to 125.
This commit is contained in:
parent
cf5a1b46f8
commit
68de9ece3d
2 changed files with 30 additions and 21 deletions
|
@ -539,10 +539,10 @@ C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*,_off^_usr#enddef
|
|||
|
||||
{NEW:WATER_342_180_TILE_FLAGS}
|
||||
|
||||
{NEW:WATER_342_180 Ql,Qlf,Mv unwalkable/lava 16}
|
||||
{NEW:WATER_342_180 Ql,Qlf,Mv unwalkable/lava 16 DURATION=125 RANDOM_START=125}
|
||||
|
||||
{NEW:WATER_342_180 Wo,Wog,Wot water/ocean 21}
|
||||
{NEW:WATER_342_180 Ww,Wwr,Wwf,Wwg,Wwrg,Wwt,Wwrt,Chw,Cm*,Km* water/water 17}
|
||||
{NEW:WATER_342_180 Wo,Wog,Wot water/ocean 21 DURATION=125 RANDOM_START=125}
|
||||
{NEW:WATER_342_180 Ww,Wwr,Wwf,Wwg,Wwrg,Wwt,Wwrt,Chw,Cm*,Km* water/water 17 DURATION=125 RANDOM_START=125}
|
||||
|
||||
{NEW:WATER_342_180_OVERLAY Wog,Wwg,Wwrg water/overlay-gray -502}
|
||||
{NEW:WATER_342_180_OVERLAY Wot,Wwt,Wwrt water/overlay-tropical -504}
|
||||
|
@ -918,8 +918,8 @@ C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*,_off^_usr#enddef
|
|||
# Double-sided animated transitions for water-to-water and sand-to-water
|
||||
{NEW:TRANSITION Sm (!,Sm,!,W*,D*) -556 swamp/mud-long FLAG=transition3}
|
||||
|
||||
{NEW:WATER_342_180_TRANSITION Wo* (!,Wo*,!,W*,Sm) -550 "~O(50%)" water/ocean 21}
|
||||
{NEW:WATER_342_180_TRANSITION Ww* (!,Ww*,!,W*,Sm) -551 "~O(50%)" water/water 17}
|
||||
{NEW:WATER_342_180_TRANSITION Wo* (!,Wo*,!,W*,Sm) -550 "~O(50%)" water/ocean 21 DURATION=125 RANDOM_START=no}
|
||||
{NEW:WATER_342_180_TRANSITION Ww* (!,Ww*,!,W*,Sm) -551 "~O(50%)" water/water 17 DURATION=125 RANDOM_START=no}
|
||||
|
||||
{NEW:WATER_342_180_OVERLAY_TRANSITION Wog,Wwg,Wwrg (!,Wog,Wwg,Wwrg,!,W*,Sm) -503 water/overlay-gray 0.20}
|
||||
{NEW:WATER_342_180_OVERLAY_TRANSITION Wot,Wwt,Wwrt (!,Wot,Wwt,Wwrt,!,W*,Sm) -505 water/overlay-tropical 0.16}
|
||||
|
|
|
@ -2160,77 +2160,80 @@ X*#endarg
|
|||
#arg DURATION
|
||||
100#endarg
|
||||
|
||||
#arg RANDOM_START
|
||||
no#endarg
|
||||
|
||||
[image]
|
||||
layer={LAYER}
|
||||
name={IMAGESTEM}[01~{FRAMES}].png~CROP(0,0,72,72){MASKIPF}{IPF}:{DURATION}
|
||||
random_start=no
|
||||
random_start={RANDOM_START}
|
||||
is_water=yes
|
||||
|
||||
[variant]
|
||||
has_flag=342x180_water02
|
||||
layer={LAYER}
|
||||
name={IMAGESTEM}[01~{FRAMES}].png~CROP(54,36,72,72){MASKIPF}{IPF}:{DURATION}
|
||||
random_start=no
|
||||
random_start={RANDOM_START}
|
||||
[/variant]
|
||||
[variant]
|
||||
has_flag=342x180_water03
|
||||
layer={LAYER}
|
||||
name={IMAGESTEM}[01~{FRAMES}].png~CROP(108,0,72,72){MASKIPF}{IPF}:{DURATION}
|
||||
random_start=no
|
||||
random_start={RANDOM_START}
|
||||
[/variant]
|
||||
[variant]
|
||||
has_flag=342x180_water04
|
||||
layer={LAYER}
|
||||
name={IMAGESTEM}[01~{FRAMES}].png~CROP(162,36,72,72){MASKIPF}{IPF}:{DURATION}
|
||||
random_start=no
|
||||
random_start={RANDOM_START}
|
||||
[/variant]
|
||||
[variant]
|
||||
has_flag=342x180_water05
|
||||
layer={LAYER}
|
||||
name={IMAGESTEM}[01~{FRAMES}].png~CROP(216,0,72,72){MASKIPF}{IPF}:{DURATION}
|
||||
random_start=no
|
||||
random_start={RANDOM_START}
|
||||
[/variant]
|
||||
[variant]
|
||||
has_flag=342x180_water06
|
||||
layer={LAYER}
|
||||
name={IMAGESTEM}[01~{FRAMES}].png~CROP(270,36,72,72){MASKIPF}{IPF}:{DURATION}
|
||||
random_start=no
|
||||
random_start={RANDOM_START}
|
||||
[/variant]
|
||||
[variant]
|
||||
has_flag=342x180_water07
|
||||
layer={LAYER}
|
||||
name={IMAGESTEM}[01~{FRAMES}].png~CROP(0,72,72,72){MASKIPF}{IPF}:{DURATION}
|
||||
random_start=no
|
||||
random_start={RANDOM_START}
|
||||
[/variant]
|
||||
[variant]
|
||||
has_flag=342x180_water08
|
||||
layer={LAYER}
|
||||
name={IMAGESTEM}[01~{FRAMES}].png~CROP(54,108,72,72){MASKIPF}{IPF}:{DURATION}
|
||||
random_start=no
|
||||
random_start={RANDOM_START}
|
||||
[/variant]
|
||||
[variant]
|
||||
has_flag=342x180_water09
|
||||
layer={LAYER}
|
||||
name={IMAGESTEM}[01~{FRAMES}].png~CROP(108,72,72,72){MASKIPF}{IPF}:{DURATION}
|
||||
random_start=no
|
||||
random_start={RANDOM_START}
|
||||
[/variant]
|
||||
[variant]
|
||||
has_flag=342x180_water10
|
||||
layer={LAYER}
|
||||
name={IMAGESTEM}[01~{FRAMES}].png~CROP(162,108,72,72){MASKIPF}{IPF}:{DURATION}
|
||||
random_start=no
|
||||
random_start={RANDOM_START}
|
||||
[/variant]
|
||||
[variant]
|
||||
has_flag=342x180_water11
|
||||
layer={LAYER}
|
||||
name={IMAGESTEM}[01~{FRAMES}].png~CROP(216,72,72,72){MASKIPF}{IPF}:{DURATION}
|
||||
random_start=no
|
||||
random_start={RANDOM_START}
|
||||
[/variant]
|
||||
[variant]
|
||||
has_flag=342x180_water12
|
||||
layer={LAYER}
|
||||
name={IMAGESTEM}[01~{FRAMES}].png~CROP(270,108,72,72){MASKIPF}{IPF}:{DURATION}
|
||||
random_start=no
|
||||
random_start={RANDOM_START}
|
||||
[/variant]
|
||||
[/image]
|
||||
#enddef
|
||||
|
@ -2240,13 +2243,16 @@ X*#endarg
|
|||
#arg DURATION
|
||||
100#endarg
|
||||
|
||||
#arg RANDOM_START
|
||||
no#endarg
|
||||
|
||||
[terrain_graphics]
|
||||
[tile]
|
||||
x,y=0,0
|
||||
type={TERRAINLIST}
|
||||
set_no_flag=base
|
||||
|
||||
{WATER_342_180_TILE_VARIANTS "" -1000 "" {IMAGESTEM} {FRAMES} DURATION={DURATION}}
|
||||
{WATER_342_180_TILE_VARIANTS "" -1000 "" {IMAGESTEM} {FRAMES} DURATION={DURATION} RANDOM_START={RANDOM_START}}
|
||||
[/tile]
|
||||
[/terrain_graphics]
|
||||
#enddef
|
||||
|
@ -2273,6 +2279,9 @@ X*#endarg
|
|||
#arg DURATION
|
||||
100#endarg
|
||||
|
||||
#arg RANDOM_START
|
||||
no#endarg
|
||||
|
||||
[terrain_graphics]
|
||||
map="
|
||||
, 2
|
||||
|
@ -2284,7 +2293,7 @@ X*#endarg
|
|||
pos=1
|
||||
type={ADJACENT}
|
||||
set_no_flag=water_concave-@R0-@R5,water_concave-@R0-@R1
|
||||
{WATER_342_180_TILE_VARIANTS "~MASK(terrain/masks/long-concave-2-@R0.png)" {LAYER} {IPF} {IMAGESTEM} {FRAMES} DURATION={DURATION}}
|
||||
{WATER_342_180_TILE_VARIANTS "~MASK(terrain/masks/long-concave-2-@R0.png)" {LAYER} {IPF} {IMAGESTEM} {FRAMES} DURATION={DURATION} RANDOM_START={RANDOM_START}}
|
||||
[/tile]
|
||||
[tile]
|
||||
pos=2
|
||||
|
@ -2309,7 +2318,7 @@ X*#endarg
|
|||
pos=2
|
||||
type={ADJACENT}
|
||||
set_no_flag=water_convex-@R0-@R5
|
||||
{WATER_342_180_TILE_VARIANTS "~MASK(terrain/masks/long-convex-@R0-@R5.png)" {LAYER} {IPF} {IMAGESTEM} {FRAMES} DURATION={DURATION}}
|
||||
{WATER_342_180_TILE_VARIANTS "~MASK(terrain/masks/long-convex-@R0-@R5.png)" {LAYER} {IPF} {IMAGESTEM} {FRAMES} DURATION={DURATION} RANDOM_START={RANDOM_START}}
|
||||
[/tile]
|
||||
[tile]
|
||||
pos=3
|
||||
|
@ -2337,7 +2346,7 @@ X*#endarg
|
|||
pos=3
|
||||
type={ADJACENT}
|
||||
set_no_flag=water_convex-@R0-@R1
|
||||
{WATER_342_180_TILE_VARIANTS "~MASK(terrain/masks/long-convex-@R0-@R1.png)" {LAYER} {IPF} {IMAGESTEM} {FRAMES} DURATION={DURATION}}
|
||||
{WATER_342_180_TILE_VARIANTS "~MASK(terrain/masks/long-convex-@R0-@R1.png)" {LAYER} {IPF} {IMAGESTEM} {FRAMES} DURATION={DURATION} RANDOM_START={RANDOM_START}}
|
||||
[/tile]
|
||||
|
||||
rotations=tr,r,br,bl,l,tl
|
||||
|
|
Loading…
Add table
Reference in a new issue