diff --git a/mods/vinylgod/rules/economy.yaml b/mods/vinylgod/rules/economy.yaml index 6ed396b..eac3e02 100644 --- a/mods/vinylgod/rules/economy.yaml +++ b/mods/vinylgod/rules/economy.yaml @@ -268,6 +268,7 @@ garage: waxseed: BodyOrientation: + QuantizeFacingsFromSequence: RenderSprites: WithSpriteBody: Interactable: diff --git a/mods/vinylgod/sequences/assets/icon_boombike.png b/mods/vinylgod/sequences/assets/icon_boombike.png new file mode 100644 index 0000000..08e4b8d Binary files /dev/null and b/mods/vinylgod/sequences/assets/icon_boombike.png differ diff --git a/mods/vinylgod/sequences/assets/icon_compressor.png b/mods/vinylgod/sequences/assets/icon_compressor.png new file mode 100644 index 0000000..82844ed Binary files /dev/null and b/mods/vinylgod/sequences/assets/icon_compressor.png differ diff --git a/mods/vinylgod/sequences/assets/icon_crawler.png b/mods/vinylgod/sequences/assets/icon_crawler.png new file mode 100644 index 0000000..e17fdbf Binary files /dev/null and b/mods/vinylgod/sequences/assets/icon_crawler.png differ diff --git a/mods/vinylgod/sequences/assets/icon_flyer45.png b/mods/vinylgod/sequences/assets/icon_flyer45.png new file mode 100644 index 0000000..05225bb Binary files /dev/null and b/mods/vinylgod/sequences/assets/icon_flyer45.png differ diff --git a/tools/check_assets.py b/tools/check_assets.py new file mode 100644 index 0000000..227cfb3 --- /dev/null +++ b/tools/check_assets.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python3 +"""Verify every Filename: referenced by the mod's sequence yaml actually exists. + +check-yaml does NOT do this — missing sprites only surface as a FileNotFoundException +when a map loads. Run this after adding art. Exits non-zero on any miss. +""" +import os, re, sys, glob + +MOD = os.path.join(os.path.dirname(__file__), '..', 'mods', 'vinylgod') +missing = [] +checked = 0 +for y in glob.glob(os.path.join(MOD, 'sequences', '*.yaml')): + for i, line in enumerate(open(y), 1): + m = re.search(r'Filename:\s*(\S+)', line) + if not m: + continue + checked += 1 + p = os.path.join(MOD, m.group(1)) + if not os.path.exists(p): + missing.append(f'{os.path.basename(y)}:{i} {m.group(1)}') + +print(f'checked {checked} sprite references') +if missing: + print(f'MISSING {len(missing)}:') + for m in missing: + print(' ' + m) + sys.exit(1) +print('all sprite files present')