summaryrefslogtreecommitdiff
path: root/scripts/make-animation-evidence.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/make-animation-evidence.py')
-rw-r--r--scripts/make-animation-evidence.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/scripts/make-animation-evidence.py b/scripts/make-animation-evidence.py
index 09c35f0..7bb2b26 100644
--- a/scripts/make-animation-evidence.py
+++ b/scripts/make-animation-evidence.py
@@ -9,8 +9,8 @@ layout is a pure function, running it twice yields byte-identical output.
Mirrored math (keep in sync with VillageArt.fs):
characterSourceRectangle:
- cellIndex = (variantIndex * 4 + directionIndex) * 6 + frameIndex
- frameIndex: WalkFrame 0..3 -> 0..3, IdleFrame IdleOne/IdleTwo -> 4/5
+ cellIndex = (variantIndex * 4 + directionIndex) * 8 + frameIndex
+ frameIndex: WalkFrame 0..5 -> 0..5, IdleFrame IdleOne/IdleTwo -> 6/7
rect = (cellIndex * 32, 0, 32, 48)
tileSourceRectangle:
Grass=0 Water=1 StonePath=2 ... Lantern=20 WaterSpriteC=21
@@ -19,7 +19,7 @@ Mirrored math (keep in sync with VillageArt.fs):
waterFrameTick = (tick / 32) % 3 -> WaterSprite / WaterSpriteB / WaterSpriteC
smokeFrameTick = (tick / 40) % 3 -> SmokeSpriteA / SmokeSpriteB / SmokeSpriteC
idleFrame = (tick / 24) % 2 -> IdleOne / IdleTwo
- animationFrame = (tick / 4) % 4 -> FrameOne..FrameFour
+ animationFrame = (tick / 4) % 6 -> FrameOne..FrameSix
"""
import hashlib
@@ -78,7 +78,7 @@ def make_walk_sheet(sheet, path):
height = header + rows * (ch + pad + 16)
canvas = Image.new("RGB", (width, height), (245, 243, 236))
draw = ImageDraw.Draw(canvas)
- label(draw, (pad, 6), "walk frames 0..3 + idle 0..1 (variant StrawHat)")
+ label(draw, (pad, 6), "walk frames 0..5 + idle 0..1 (variant StrawHat)")
for r, (name, di) in enumerate(DIRECTIONS):
y = header + r * (ch + pad + 16)
label(draw, (pad, y), name)
@@ -115,7 +115,7 @@ def main():
world_sheet = Image.open(WORLD).convert("RGBA")
char_sheet = Image.open(CHARS).convert("RGBA")
- assert char_sheet.size == (3840, 48), char_sheet.size
+ assert char_sheet.size == (5120, 48), char_sheet.size
assert world_sheet.size == (800, 32), world_sheet.size
make_walk_sheet(char_sheet, os.path.join(OUT, "walk-idle-frames.png"))
@@ -131,7 +131,7 @@ def main():
# Deterministic tick -> frame table for the report.
def walk(t):
- return (t // 4) % 4
+ return (t // 4) % 6
def idle(t):
return (t // 24) % 2