From 18e0598ad1e664f7dfd0bb077a50ee45101a9ce8 Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Thu, 17 Jul 2025 16:27:28 -0700 Subject: Add some TODOs --- demos/isomap/isomap.c | 6 ++++-- src/isogfx.c | 2 ++ tools/mkasset.py | 18 +++++++++++------- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/demos/isomap/isomap.c b/demos/isomap/isomap.c index 5adf6f1..b328bfa 100644 --- a/demos/isomap/isomap.c +++ b/demos/isomap/isomap.c @@ -36,12 +36,14 @@ static bool init(GfxAppState* state, int argc, const char** argv) { isogfx_resize(iso, SCREEN_WIDTH, SCREEN_HEIGHT); - if (!isogfx_load_world(iso, "/home/jeanne/assets/tilemaps/demo1.tm")) { + if (!isogfx_load_world(iso, "/home/jeanne/Nextcloud/assets/maps/demo-1.tm")) { return false; } if (!isogfx_load_sprite_sheet( - iso, "/home/jeanne/assets/tilesets/scrabling/critters/stag/stag.ss", + iso, + "/home/jeanne/Nextcloud/assets/tilesets/scrabling/critters/stag/" + "stag.ss", &state->stag_sheet)) { return false; } diff --git a/src/isogfx.c b/src/isogfx.c index 53a6650..4dff67b 100644 --- a/src/isogfx.c +++ b/src/isogfx.c @@ -338,12 +338,14 @@ bool isogfx_load_world(IsoGfx* iso, const char* filepath) { Ts_TileSet* tileset = read_file(ts_path_cwd); if (!tileset) { + // TODO: Log errors using the log library. goto cleanup; }; // Load tile data. const Ts_Tile* tile = &tileset->tiles[0]; for (uint16_t j = 0; j < tileset->num_tiles; ++j) { + // TODO: These checks should be library runtime errors. // Tile dimensions should be a multiple of the base tile size. assert((tile->width % map->base_tile_width) == 0); assert((tile->height % map->base_tile_height) == 0); diff --git a/tools/mkasset.py b/tools/mkasset.py index 3ca8a1d..fd2ead7 100644 --- a/tools/mkasset.py +++ b/tools/mkasset.py @@ -12,11 +12,11 @@ # import argparse import ctypes -import os -from PIL import Image import sys from xml.etree import ElementTree +from PIL import Image + # Maximum length of path strings in .TS and .TM files. # Must match the engine's value. MAX_PATH_LENGTH = 128 @@ -291,20 +291,24 @@ def convert_sprite_sheet(input_file_paths, sprite_width, sprite_height, def main(): + # TODO: Use subparser for each type of input file. parser = argparse.ArgumentParser() parser.add_argument("input", nargs="+", help="Input file (.tsx, .tmx) or path regex (sprite sheets)") - parser.add_argument("--width", type=int, help="Sprite width in pixels") - parser.add_argument("--height", type=int, help="Sprite height in pixels") - parser.add_argument("--out", help="Output file (sprite sheets)") + parser.add_argument("-W", "--width", type=int, help="Sprite width in pixels") + parser.add_argument("-H", "--height", type=int, help="Sprite height in pixels") + parser.add_argument("-o", "--out", help="Output file (sprite sheets)") args = parser.parse_args() - if ".tsx" in args.input: + # TODO: Add support for TSX files made from a single image. Currently, only collections are supported. + if ".tsx" in args.input[0]: + args.input = args.input[0] # TODO: Remove this. output_filepath_no_ext = drop_extension(args.input) output_filepath = output_filepath_no_ext + ".ts" convert_tsx(args.input, output_filepath) - elif ".tmx" in args.input: + elif ".tmx" in args.input[0]: + args.input = args.input[0] # TODO: Remove this. output_filepath_no_ext = drop_extension(args.input) output_filepath = output_filepath_no_ext + ".tm" convert_tmx(args.input, output_filepath) -- cgit v1.2.3