diff options
author | Astatin <[email protected]> | 2024-08-31 16:19:12 +0900 |
---|---|---|
committer | Astatin <astatin@redacted> | 2024-08-31 16:19:12 +0900 |
commit | 4dd5da8812f90e8af924e3a6ee89aef4a88658e4 (patch) | |
tree | 9c22047e634e50d8043400b7399712054d329fd2 /scripts/parse_sprite_png.py | |
parent | 522bde7b7e7d70fc86a5dac2042b7b20e05c197b (diff) |
Add tileset generation script
Diffstat (limited to 'scripts/parse_sprite_png.py')
-rw-r--r-- | scripts/parse_sprite_png.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/scripts/parse_sprite_png.py b/scripts/parse_sprite_png.py index 49889fc..f8d130a 100644 --- a/scripts/parse_sprite_png.py +++ b/scripts/parse_sprite_png.py @@ -2,6 +2,11 @@ from PIL import Image import numpy as np import sys +sprite_8x16 = False + +if len(sys.argv) >= 3 and sys.argv[2] == "--8x16": + sprite_8x16 = True + file = Image.open(sys.argv[1]).convert("RGB") px_array = np.asarray(file) @@ -12,6 +17,12 @@ def getpx(sprite_nb, x, y): sprite_double_column = int(double_sprite_nb % (file.width / 16)) sprite_tile_y = 1 if sprite_nb & 0b10 else 0 sprite_tile_x = 1 if sprite_nb & 0b01 else 0 + + if sprite_8x16: + sprite_tile_x ^= sprite_tile_y + sprite_tile_y ^= sprite_tile_x + sprite_tile_x ^= sprite_tile_y + sprite_line = sprite_double_line * 2 + sprite_tile_y sprite_column = sprite_double_column * 2 + sprite_tile_x |