Load Ultimate Lizard Total Destruction spritesheet

This commit is contained in:
2024-02-26 17:31:58 -08:00
parent 79eb52e282
commit f6d942c614
6 changed files with 91 additions and 9 deletions

View File

@ -6,7 +6,7 @@ import shared
TEMPLATE = """
// generated code! be nice!
#include "sys/sys.h"
sys_sprite {{spritesheet_name}}[{{n_sprites}}] = {
sys_sprite {{spritesheet_name}}_data[{{n_sprites}}] = {
{% for sprite in sprites -%}
{ .pixels={
{% for row in sprite -%}
@ -15,11 +15,16 @@ sys_sprite {{spritesheet_name}}[{{n_sprites}}] = {
} }{% if not loop.last %},{% endif %}
{%- endfor %}
};
sys_spritesheet {{spritesheet_name}} = {
.sprites=&{{spritesheet_name}}_data,
.width={{width}},
.height={{height}},
};
""".lstrip()
def main(spritesheet_name, n_sprites, key_color, fname_png, fname_c):
sprites = load_sprites(fname_png, key_color)
sprites, width, height = load_sprites(fname_png, key_color)
assert(len(sprites) == n_sprites), f"must be exactly {n_sprites} sprites"
with open(fname_c, "wt") as output:
@ -28,6 +33,8 @@ def main(spritesheet_name, n_sprites, key_color, fname_png, fname_c):
spritesheet_name=spritesheet_name,
n_sprites=n_sprites,
sprites=sprites,
width=width,
height=height,
)
)
@ -49,7 +56,7 @@ def load_sprites(fname_png: str, key_color: int):
pixels.append(row)
sprites.append(pixels)
return sprites
return sprites, width//8, height//8
palette_colors = {