Add explosion stage 1 PNG assets for all directions

- Added BMP_1_EXPLOSION_DOWN.png to original and preview directories.
- Added BMP_1_EXPLOSION_LEFT.png to original and preview directories.
- Added BMP_1_EXPLOSION_RIGHT.png to original and preview directories.
- Added BMP_1_EXPLOSION_UP.png to original and preview directories.

These assets are part of the explosion animation for the game, enhancing visual effects during gameplay.
This commit is contained in:
2026-04-14 11:24:16 +02:00
parent eaafd92dc2
commit b243cf04d3
22 changed files with 98956 additions and 4 deletions
+74
View File
@@ -0,0 +1,74 @@
#!/usr/bin/env python3
import json
import sys
from pathlib import Path
from PIL import Image
CHROMAKEY = [128, 128, 128, 255]
GREEN_LIGHT = [0, 255, 0, 255]
GREEN_DARK = [0, 128, 0, 255]
def is_green(pixel):
return pixel == GREEN_LIGHT or pixel == GREEN_DARK
def is_background(pixel):
return pixel == CHROMAKEY or is_green(pixel)
def cave_reference_path(sprite_name):
direction = sprite_name.rsplit("_", 1)[-1]
return Path("assets/Rat") / f"BMP_1_CAVE_{direction}.png"
def load_cave_grid(sprite_name):
cave_path = cave_reference_path(sprite_name)
cave_image = Image.open(cave_path).convert("RGBA")
width, height = cave_image.size
pixel_access = cave_image.load()
return [
[list(pixel_access[x, y]) for x in range(width)]
for y in range(height)
]
def enhance_pixels(name, pixels):
cave_pixels = load_cave_grid(name)
enhanced = []
for y, row in enumerate(pixels):
enhanced_row = []
for x, pixel in enumerate(row):
if is_background(pixel):
enhanced_row.append(cave_pixels[y][x][:])
else:
enhanced_row.append(pixel[:])
enhanced.append(enhanced_row)
return enhanced
def process_file(src_path, dst_path):
data = json.loads(src_path.read_text())
pixels = data["pixels"]
data["pixels"] = enhance_pixels(src_path.stem, pixels)
dst_path.write_text(json.dumps(data, indent=2))
def main():
if len(sys.argv) != 3:
raise SystemExit("usage: enhance_stage1_explosions.py <src_dir> <dst_dir>")
src_dir = Path(sys.argv[1])
dst_dir = Path(sys.argv[2])
dst_dir.mkdir(parents=True, exist_ok=True)
for src_path in sorted(src_dir.glob("BMP_1_EXPLOSION_*.json")):
dst_path = dst_dir / src_path.name
process_file(src_path, dst_path)
print(f"Wrote {dst_path}")
if __name__ == "__main__":
main()
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 347 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB