From 2127df4dc7cd2489cf4487affb23577e9ef915ce Mon Sep 17 00:00:00 2001 From: bbbbbr Date: Fri, 13 Feb 2026 01:58:07 -0800 Subject: [PATCH] png2asset: fix header output for -use_structs -tiles_only - MapInfo should not be emitted - TilesInfo should have name shortened - Update test output --- gbdk-support/png2asset/export_h_file.cpp | 12 ++++++++++-- gbdk-support/png2asset/testing/ref/zgb_sushi_tiles.h | 3 +-- .../png2asset/testing/ref/zgb_sushi_tiles_lit.h | 3 +-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/gbdk-support/png2asset/export_h_file.cpp b/gbdk-support/png2asset/export_h_file.cpp index fe368e76..38215119 100644 --- a/gbdk-support/png2asset/export_h_file.cpp +++ b/gbdk-support/png2asset/export_h_file.cpp @@ -93,8 +93,16 @@ static void export_h_use_structs(PNG2AssetData* assetData, FILE* file) { fprintf(file, "#include \"TilesInfo.h\"\n"); fprintf(file, "#include \"MapInfo.h\"\n"); fprintf(file, "\n"); - fprintf(file, "extern const struct TilesInfo %s_tiles_info;\n", assetData->args->data_name.c_str()); - fprintf(file, "extern const struct MapInfo %s;\n", assetData->args->data_name.c_str()); + // Analogous to "(output_mode == ZGB_TILES_MODE_TILESONLY)" in the C output + if ((assetData->args->includeTileData) && (!assetData->args->includedMapOrMetaspriteData)) { + // ZGB Tiles-only mode doesn't append "_tiles_info" to the struct name (and lacks a BANKREF output in the C output) + fprintf(file, "extern const struct TilesInfo %s;\n", assetData->args->data_name.c_str()); + } + else { // implied (output_mode == ZGB_TILES_MODE_NORMAL) + fprintf(file, "extern const struct TilesInfo %s_tiles_info;\n", assetData->args->data_name.c_str()); + fprintf(file, "extern const struct MapInfo %s;\n", assetData->args->data_name.c_str()); + } + } else { fprintf(file, "#include \"MetaSpriteInfo.h\"\n"); diff --git a/gbdk-support/png2asset/testing/ref/zgb_sushi_tiles.h b/gbdk-support/png2asset/testing/ref/zgb_sushi_tiles.h index a87f5a9b..158484b7 100644 --- a/gbdk-support/png2asset/testing/ref/zgb_sushi_tiles.h +++ b/gbdk-support/png2asset/testing/ref/zgb_sushi_tiles.h @@ -11,7 +11,6 @@ #include "TilesInfo.h" #include "MapInfo.h" -extern const struct TilesInfo zgb_sushi_tiles_tiles_info; -extern const struct MapInfo zgb_sushi_tiles; +extern const struct TilesInfo zgb_sushi_tiles; #endif diff --git a/gbdk-support/png2asset/testing/ref/zgb_sushi_tiles_lit.h b/gbdk-support/png2asset/testing/ref/zgb_sushi_tiles_lit.h index ed3b37d8..0680dbe8 100644 --- a/gbdk-support/png2asset/testing/ref/zgb_sushi_tiles_lit.h +++ b/gbdk-support/png2asset/testing/ref/zgb_sushi_tiles_lit.h @@ -11,7 +11,6 @@ #include "TilesInfo.h" #include "MapInfo.h" -extern const struct TilesInfo zgb_sushi_tiles_lit_tiles_info; -extern const struct MapInfo zgb_sushi_tiles_lit; +extern const struct TilesInfo zgb_sushi_tiles_lit; #endif