summaryrefslogtreecommitdiff
path: root/extractor/sprite_format.gd
diff options
context:
space:
mode:
Diffstat (limited to 'extractor/sprite_format.gd')
-rw-r--r--extractor/sprite_format.gd17
1 files changed, 17 insertions, 0 deletions
diff --git a/extractor/sprite_format.gd b/extractor/sprite_format.gd
index 46b20c1..879a45f 100644
--- a/extractor/sprite_format.gd
+++ b/extractor/sprite_format.gd
@@ -73,6 +73,8 @@ static func from_bytes(bytes: PackedByteArray) -> SpriteFormat:
processed_palette_images += 1
palette_image_offset += data.get_byte_length()
+ assert(sprite_format.palette_image_data.size() == sprite_format.palette_image_count)
+
sprite_format.rgba_image_data = [] as Array[RGBAImageData]
var rgba_image_offset = palette_image_offset
var processed_rgba_images = 0
@@ -94,6 +96,8 @@ static func from_bytes(bytes: PackedByteArray) -> SpriteFormat:
processed_rgba_images += 1
rgba_image_offset += data.get_byte_length()
+ assert(sprite_format.rgba_image_data.size() == sprite_format.rgba_image_count)
+
sprite_format.palette = [] as Array[PaletteColor]
var palette_offset = rgba_image_offset
while palette_offset < bytes.size():
@@ -127,6 +131,19 @@ func save_to_file(base_dir: String = ""):
var path = "%s/%s.png" % [base_dir, str(idx).pad_zeros(3)]
image.save_png(path)
+
+ for idx in rgba_image_data.size():
+ var data: RGBAImageData = rgba_image_data[idx]
+ var image = Image.create_from_data(
+ data.width,
+ data.height,
+ false,
+ Image.FORMAT_RGBA8,
+ data.data
+ )
+
+ var path = "%s/%s.png" % [base_dir, str(idx).pad_zeros(3)]
+ image.save_png(path)
func files_exist() -> bool: