mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-07-08 23:08:10 -07:00
Asset packer use manifest for anim subfolders
This commit is contained in:
+10
-5
@@ -6,7 +6,9 @@ import shutil
|
||||
import struct
|
||||
import typing
|
||||
import time
|
||||
import re
|
||||
import io
|
||||
import os
|
||||
|
||||
|
||||
def convert_bm(img: "Image.Image | pathlib.Path") -> bytes:
|
||||
@@ -94,7 +96,7 @@ def pack(
|
||||
if not source.is_dir():
|
||||
continue
|
||||
|
||||
logger(f"Packing {source.name}... ")
|
||||
logger(f"Pack: custom user pack '{source.name}'")
|
||||
packed = output / source.name
|
||||
if packed.exists():
|
||||
try:
|
||||
@@ -110,10 +112,11 @@ def pack(
|
||||
shutil.copyfile(
|
||||
source / "Anims/manifest.txt", packed / "Anims/manifest.txt"
|
||||
)
|
||||
for anim in (source / "Anims").iterdir():
|
||||
if not anim.is_dir():
|
||||
continue
|
||||
pack_anim(anim, packed / "Anims" / anim.name)
|
||||
manifest = (source / "Anims/manifest.txt").read_bytes()
|
||||
for anim in re.finditer(rb"Name: (.*)", manifest):
|
||||
anim = anim.group(1).decode().replace("\\", "/").replace("/", os.sep)
|
||||
logger(f"Compile: anim for pack '{source.name}': {anim}")
|
||||
pack_anim(source / "Anims" / anim, packed / "Anims" / anim)
|
||||
|
||||
if (source / "Icons").is_dir():
|
||||
for icons in (source / "Icons").iterdir():
|
||||
@@ -121,10 +124,12 @@ def pack(
|
||||
continue
|
||||
for icon in icons.iterdir():
|
||||
if icon.is_dir():
|
||||
logger(f"Compile: icon for pack '{source.name}': {icons.name}/{icon.name}")
|
||||
pack_icon_animated(
|
||||
icon, packed / "Icons" / icons.name / icon.name
|
||||
)
|
||||
elif icon.is_file():
|
||||
logger(f"Compile: icon for pack '{source.name}': {icons.name}/{icon.name}")
|
||||
pack_icon_static(
|
||||
icon, packed / "Icons" / icons.name / icon.name
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user