diff options
Diffstat (limited to 'scripts/make-animation-evidence.py')
| -rw-r--r-- | scripts/make-animation-evidence.py | 12 |
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 |
