From 888b27eec8ca7f3fa87ba8fcf2eccc6009ee4ed9 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Fri, 13 Sep 2024 02:00:57 +0900 Subject: [PATCH] Fix charset craziness (#1202) --- include/include_asset.h | 17 +++- src/charset/charset.c | 69 +++++++++++++++ src/charset/charset.h | 66 ++++++++++++++ src/filemenu/filemenu_msg.c | 2 + src/msg.c | 24 +++-- src/msg_data.c | 53 +++++------ src/msg_draw.c | 1 + src/world/area_kmr/kmr_20/documents.c | 45 +++++----- src/world/area_osr/osr_00/scenes.c | 7 +- tools/build/configure.py | 74 ++++++++-------- ver/ique/splat.yaml | 107 +++++++++------------- ver/ique/symbol_addrs.txt | 84 +----------------- ver/jp/splat.yaml | 122 ++++++++++---------------- ver/jp/symbol_addrs.txt | 4 + ver/pal/splat.yaml | 107 +++++++++------------- ver/pal/symbol_addrs.txt | 4 + ver/us/splat.yaml | 107 +++++++++------------- ver/us/symbol_addrs.txt | 4 + 18 files changed, 440 insertions(+), 457 deletions(-) create mode 100644 src/charset/charset.c create mode 100644 src/charset/charset.h diff --git a/include/include_asset.h b/include/include_asset.h index b867825eb7..e62bf46d42 100644 --- a/include/include_asset.h +++ b/include/include_asset.h @@ -16,7 +16,7 @@ __asm__( \ ".globl " #SYMBOLNAME"\n" \ PUSHSECTION(".data") \ - ".align 2\n" \ + ".align 3\n" \ ".type " #SYMBOLNAME", @object\n" \ #SYMBOLNAME":\n" \ ".incbin \"ver/"ASTRINGIFY(VERSION)"/build/" FILENAME ".bin\"\n" \ @@ -32,11 +32,24 @@ __asm__( \ ".globl " #SYMBOLNAME"\n" \ PUSHSECTION(".data") \ - ".align 2\n" \ + ".align 3\n" \ ".type " #SYMBOLNAME", @object\n" \ #SYMBOLNAME":\n" \ ".incbin \"ver/"ASTRINGIFY(VERSION)"/build/" FILENAME ".bin\"\n" \ POPSECTION \ ) +#define INCLUDE_RAW(FILENAME, SYMBOLNAME) \ + extern unsigned char SYMBOLNAME[]; \ + __asm__( \ + ".globl " #SYMBOLNAME"\n" \ + PUSHSECTION(".data") \ + ".align 3\n" \ + ".type " #SYMBOLNAME", @object\n" \ + #SYMBOLNAME":\n" \ + ".incbin \"ver/"ASTRINGIFY(VERSION)"/build/assets/"ASTRINGIFY(VERSION)"/" FILENAME "\"\n" \ + POPSECTION \ + ) + + #endif // _H_INCLUDE_ASSET diff --git a/src/charset/charset.c b/src/charset/charset.c new file mode 100644 index 0000000000..ef6c148863 --- /dev/null +++ b/src/charset/charset.c @@ -0,0 +1,69 @@ +#include "include_asset.h" + +#if VERSION_JP +INCLUDE_RAW("charset/kana.dat", charset_kana_OFFSET); +INCLUDE_RAW("charset/latin.dat", charset_latin_OFFSET); +INCLUDE_RAW("charset/kanji.dat", charset_kanji_OFFSET); +INCLUDE_RAW("charset/buttons.dat", charset_buttons_OFFSET); +INCLUDE_RAW("charset/menu_kana.dat", charset_menu_kana_OFFSET); +INCLUDE_RAW("charset/menu_latin.dat", charset_menu_latin_OFFSET); +#else +INCLUDE_RAW("charset/standard.dat", charset_standard_OFFSET); +#endif + +INCLUDE_RAW("charset/standard/palette.dat", charset_standard_pal_OFFSET); +INCLUDE_RAW("charset/title.dat", charset_title_OFFSET); +INCLUDE_RAW("charset/subtitle.dat", charset_subtitle_OFFSET); +#if VERSION_IQUE +static int padding[] = {0, 0, 0, 0, 0, 0}; +#endif +INCLUDE_RAW("charset/subtitle/palette.dat", charset_subtitle_pal_OFFSET); +INCLUDE_RAW("charset/title/palette.dat", charset_title_pal_OFFSET); + +INCLUDE_IMG("charset/peach_letter.png", charset_peach_letter_OFFSET); +INCLUDE_PAL("charset/peach_letter.pal", charset_peach_letter_pal_OFFSET); + +INCLUDE_IMG("charset/postcard.png", charset_postcard_OFFSET); +INCLUDE_PAL("charset/postcard.pal", charset_postcard_pal_OFFSET); + +INCLUDE_IMG("charset/letter_content_1.png", charset_letter_content_1_OFFSET); +INCLUDE_PAL("charset/letter_content_1.pal", charset_letter_content_1_pal_OFFSET); + +INCLUDE_IMG("charset/letter_content_2.png", charset_letter_content_2_OFFSET); +INCLUDE_PAL("charset/letter_content_2.pal", charset_letter_content_2_pal_OFFSET); + +INCLUDE_IMG("charset/letter_content_3.png", charset_letter_content_3_OFFSET); +INCLUDE_PAL("charset/letter_content_3.pal", charset_letter_content_3_pal_OFFSET); + +INCLUDE_IMG("charset/letter_content_4.png", charset_letter_content_4_OFFSET); +INCLUDE_PAL("charset/letter_content_4.pal", charset_letter_content_4_pal_OFFSET); + +INCLUDE_IMG("charset/letter_content_5.png", charset_letter_content_5_OFFSET); +INCLUDE_PAL("charset/letter_content_5.pal", charset_letter_content_5_pal_OFFSET); + +INCLUDE_IMG("charset/letter_content_6.png", charset_letter_content_6_OFFSET); +INCLUDE_PAL("charset/letter_content_6.pal", charset_letter_content_6_pal_OFFSET); + +INCLUDE_IMG("charset/letter_content_7.png", charset_letter_content_7_OFFSET); +INCLUDE_PAL("charset/letter_content_7.pal", charset_letter_content_7_pal_OFFSET); + +INCLUDE_IMG("charset/letter_content_8.png", charset_letter_content_8_OFFSET); +INCLUDE_PAL("charset/letter_content_8.pal", charset_letter_content_8_pal_OFFSET); + +INCLUDE_IMG("charset/letter_content_9.png", charset_letter_content_9_OFFSET); +INCLUDE_PAL("charset/letter_content_9.pal", charset_letter_content_9_pal_OFFSET); + +INCLUDE_IMG("charset/letter_content_10.png", charset_letter_content_10_OFFSET); +INCLUDE_PAL("charset/letter_content_10.pal", charset_letter_content_10_pal_OFFSET); + +INCLUDE_IMG("charset/letter_content_11.png", charset_letter_content_11_OFFSET); +INCLUDE_PAL("charset/letter_content_11.pal", charset_letter_content_11_pal_OFFSET); + +INCLUDE_IMG("charset/letter_content_12.png", charset_letter_content_12_OFFSET); +INCLUDE_PAL("charset/letter_content_12.pal", charset_letter_content_12_pal_OFFSET); + +#if VERSION_US || VERSION_PAL +static int padding2[] = {0, 0}; +#endif + +int something = 0x03E00008; diff --git a/src/charset/charset.h b/src/charset/charset.h new file mode 100644 index 0000000000..c30b54f743 --- /dev/null +++ b/src/charset/charset.h @@ -0,0 +1,66 @@ +#ifndef _CHARSET_H_ + +#include "charset/peach_letter.png.h" + +#if VERSION_JP +extern unsigned char charset_kana_OFFSET[]; +extern unsigned char charset_latin_OFFSET[]; +extern unsigned char charset_kanji_OFFSET[]; +extern unsigned char charset_buttons_OFFSET[]; +extern unsigned char charset_menu_kana_OFFSET[]; +extern unsigned char charset_menu_latin_OFFSET[]; +#else +extern unsigned char charset_standard_OFFSET[]; +#endif + +extern unsigned char charset_standard_pal_OFFSET[]; + +extern unsigned char charset_title_OFFSET[]; +extern unsigned char charset_title_pal_OFFSET[]; + +extern unsigned char charset_subtitle_OFFSET[]; +extern unsigned char charset_subtitle_pal_OFFSET[]; + +extern unsigned char charset_peach_letter_OFFSET[]; +extern unsigned short charset_peach_letter_pal_OFFSET[]; + +extern unsigned char charset_postcard_OFFSET[]; +extern unsigned short charset_postcard_pal_OFFSET[]; + +extern unsigned char charset_letter_content_1_OFFSET[]; +extern unsigned short charset_letter_content_1_pal_OFFSET[]; + +extern unsigned char charset_letter_content_2_OFFSET[]; +extern unsigned short charset_letter_content_2_pal_OFFSET[]; + +extern unsigned char charset_letter_content_3_OFFSET[]; +extern unsigned short charset_letter_content_3_pal_OFFSET[]; + +extern unsigned char charset_letter_content_4_OFFSET[]; +extern unsigned short charset_letter_content_4_pal_OFFSET[]; + +extern unsigned char charset_letter_content_5_OFFSET[]; +extern unsigned short charset_letter_content_5_pal_OFFSET[]; + +extern unsigned char charset_letter_content_6_OFFSET[]; +extern unsigned short charset_letter_content_6_pal_OFFSET[]; + +extern unsigned char charset_letter_content_7_OFFSET[]; +extern unsigned short charset_letter_content_7_pal_OFFSET[]; + +extern unsigned char charset_letter_content_8_OFFSET[]; +extern unsigned short charset_letter_content_8_pal_OFFSET[]; + +extern unsigned char charset_letter_content_9_OFFSET[]; +extern unsigned short charset_letter_content_9_pal_OFFSET[]; + +extern unsigned char charset_letter_content_10_OFFSET[]; +extern unsigned short charset_letter_content_10_pal_OFFSET[]; + +extern unsigned char charset_letter_content_11_OFFSET[]; +extern unsigned short charset_letter_content_11_pal_OFFSET[]; + +extern unsigned char charset_letter_content_12_OFFSET[]; +extern unsigned short charset_letter_content_12_pal_OFFSET[]; + +#endif diff --git a/src/filemenu/filemenu_msg.c b/src/filemenu/filemenu_msg.c index 1dfe94c98c..69471084cb 100644 --- a/src/filemenu/filemenu_msg.c +++ b/src/filemenu/filemenu_msg.c @@ -2,6 +2,8 @@ #include "filemenu.h" #include "ld_addrs.h" +#include "charset/charset.h" + s32 msg_get_print_char_width(s32 character, s32 charset, s32 variation, f32 msgScale, s32 overrideCharWidth, u8 flags); extern MessageCharset* MsgCharsets[5]; diff --git a/src/msg.c b/src/msg.c index d6be4901e6..1ce73c0953 100644 --- a/src/msg.c +++ b/src/msg.c @@ -3,6 +3,7 @@ #include "message_ids.h" #include "sprite.h" +#include "charset/charset.h" #include "charset/postcard.png.h" #include "charset/letter_content_1.png.h" @@ -30,7 +31,12 @@ enum RewindArrowStates { typedef MessageImageData* MessageImageDataList[1]; -s32 D_8014C280[] = { 0x028001E0, 0x01FF0000, 0x028001E0, 0x01FF0000 }; +Vp D_8014C280 = { + .vp = { + .vscale = {640, 480, 511, 0}, + .vtrans = {640, 480, 511, 0}, + } +}; #if !VERSION_JP u8 MessagePlural[] = { MSG_CHAR_LOWER_S, MSG_CHAR_READ_END }; @@ -89,7 +95,7 @@ Gfx* D_80151338; static char gMessageBuffers[2][1024]; static MessagePrintState gMessagePrinters[3]; #if VERSION_JP -static s32 D_80155C38; +static s32 D_80155C38; #endif static u8 gMessageMsgVars[3][32]; static s16 D_80155C98; @@ -233,7 +239,7 @@ void load_font(s32 font) { } else if (font == 1) { load_font_data(charset_title_OFFSET, 0xF60, MsgCharImgTitle); load_font_data(charset_subtitle_OFFSET, 0xB88, MsgCharImgSubtitle); - load_font_data(charset_credits_pal_OFFSET, 0x80, D_802F4560); + load_font_data(charset_subtitle_pal_OFFSET, 0x80, D_802F4560); } } } @@ -565,7 +571,7 @@ void render_messages(void) { for (i = 0; i < ARRAY_COUNT(gMessagePrinters); i++) { if (gMessagePrinters[i].stateFlags & MSG_STATE_FLAG_2) { - gSPViewport(gMainGfxPos++, D_8014C280); + gSPViewport(gMainGfxPos++, &D_8014C280); guOrtho(matrix, 0.0f, 319.0f, -240.0f, 0.0f, -500.0f, 500.0f, 1.0f); gSPMatrix(gMainGfxPos++, OS_K0_TO_PHYSICAL(matrix), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); gDPPipeSync(gMainGfxPos++); @@ -626,8 +632,8 @@ void msg_play_speech_sound(MessagePrintState* printer, u8 character) { extern s32 gItemIconRasterOffsets[]; extern s32 gItemIconPaletteOffsets[]; -extern s32 MsgLetterRasterOffsets[]; -extern s32 MsgLetterPaletteOffsets[]; +extern u8* MsgLetterRasterOffsets[]; +extern u16* MsgLetterPaletteOffsets[]; extern MsgVoice MsgVoices[]; #if VERSION_PAL @@ -798,13 +804,13 @@ void msg_copy_to_print_buffer(MessagePrintState* printer, s32 arg1, s32 arg2) { romAddr = charset_ROM_START + (s32)charset_postcard_OFFSET; dma_copy(romAddr, romAddr + ((charset_postcard_png_width * charset_postcard_png_height) / 2), printer->letterBackgroundImg); printer->letterBackgroundPal = heap_malloc(0x20); - romAddr = charset_ROM_START + ((s32)charset_postcard_pal_OFFSET + 5); + romAddr = charset_ROM_START + (s32)charset_postcard_pal_OFFSET; dma_copy(romAddr, romAddr + 0x20, printer->letterBackgroundPal); printer->letterContentImg = heap_malloc(charset_letter_content_1_png_width * charset_letter_content_1_png_height); - romAddr = charset_ROM_START + MsgLetterRasterOffsets[arg]; + romAddr = charset_ROM_START + (s32) MsgLetterRasterOffsets[arg]; dma_copy(romAddr, romAddr + (charset_letter_content_1_png_width * charset_letter_content_1_png_height), printer->letterContentImg); printer->letterContentPal = heap_malloc(0x200); - romAddr = charset_ROM_START + MsgLetterPaletteOffsets[arg]; + romAddr = charset_ROM_START + (s32) MsgLetterPaletteOffsets[arg]; dma_copy(romAddr, romAddr + 0x200, printer->letterContentPal); break; case MSG_STYLE_POPUP: diff --git a/src/msg_data.c b/src/msg_data.c index 500784e2fb..01e39fde75 100644 --- a/src/msg_data.c +++ b/src/msg_data.c @@ -1,5 +1,6 @@ #include "common.h" #include "ld_addrs.h" +#include "charset/charset.h" extern IMG_BIN MsgCharImgTitle[]; extern IMG_BIN MsgCharImgSubtitle[]; @@ -874,34 +875,34 @@ MessageCharset* MsgCharsets[] = { NULL }; -s32 MsgLetterRasterOffsets[] = { - (s32) charset_letter_content_1_OFFSET, - (s32) charset_letter_content_2_OFFSET, - (s32) charset_letter_content_3_OFFSET, - (s32) charset_letter_content_4_OFFSET, - (s32) charset_letter_content_5_OFFSET, - (s32) charset_letter_content_6_OFFSET, - (s32) charset_letter_content_7_OFFSET, - (s32) charset_letter_content_8_OFFSET, - (s32) charset_letter_content_9_OFFSET, - (s32) charset_letter_content_10_OFFSET, - (s32) charset_letter_content_11_OFFSET, - (s32) charset_letter_content_12_OFFSET, +u8* MsgLetterRasterOffsets[] = { + charset_letter_content_1_OFFSET, + charset_letter_content_2_OFFSET, + charset_letter_content_3_OFFSET, + charset_letter_content_4_OFFSET, + charset_letter_content_5_OFFSET, + charset_letter_content_6_OFFSET, + charset_letter_content_7_OFFSET, + charset_letter_content_8_OFFSET, + charset_letter_content_9_OFFSET, + charset_letter_content_10_OFFSET, + charset_letter_content_11_OFFSET, + charset_letter_content_12_OFFSET, }; -s32 MsgLetterPaletteOffsets[] = { - (s32) charset_letter_content_1_pal_OFFSET + 6, - (s32) charset_letter_content_2_pal_OFFSET + 6, - (s32) charset_letter_content_3_pal_OFFSET + 6, - (s32) charset_letter_content_4_pal_OFFSET + 6, - (s32) charset_letter_content_5_pal_OFFSET + 6, - (s32) charset_letter_content_6_pal_OFFSET + 6, - (s32) charset_letter_content_7_pal_OFFSET + 6, - (s32) charset_letter_content_8_pal_OFFSET + 6, - (s32) charset_letter_content_9_pal_OFFSET + 6, - (s32) charset_letter_content_10_pal_OFFSET + 6, - (s32) charset_letter_content_11_pal_OFFSET + 6, - (s32) charset_letter_content_12_pal_OFFSET + 6, +u16* MsgLetterPaletteOffsets[] = { + charset_letter_content_1_pal_OFFSET, + charset_letter_content_2_pal_OFFSET, + charset_letter_content_3_pal_OFFSET, + charset_letter_content_4_pal_OFFSET, + charset_letter_content_5_pal_OFFSET, + charset_letter_content_6_pal_OFFSET, + charset_letter_content_7_pal_OFFSET, + charset_letter_content_8_pal_OFFSET, + charset_letter_content_9_pal_OFFSET, + charset_letter_content_10_pal_OFFSET, + charset_letter_content_11_pal_OFFSET, + charset_letter_content_12_pal_OFFSET, }; MsgVoice MsgVoices[] = { diff --git a/src/msg_draw.c b/src/msg_draw.c index f70c12e2eb..a2f38d1767 100644 --- a/src/msg_draw.c +++ b/src/msg_draw.c @@ -3,6 +3,7 @@ #include "message_ids.h" #include "sprite.h" +#include "charset/charset.h" #include "charset/postcard.png.h" #include "charset/letter_content_1.png.h" diff --git a/src/world/area_kmr/kmr_20/documents.c b/src/world/area_kmr/kmr_20/documents.c index 19e508de07..d652db4ced 100644 --- a/src/world/area_kmr/kmr_20/documents.c +++ b/src/world/area_kmr/kmr_20/documents.c @@ -1,6 +1,7 @@ #include "kmr_20.h" #include "hud_element.h" #include "ld_addrs.h" +#include "charset/charset.h" #define PACKED_BYTE(base, i) \ (i / 8) + EVT_INDEX_OF_GAME_BYTE(base) @@ -98,20 +99,20 @@ s32 N(LetterBodyStringIDs)[] = { MSG_Document_Letter_Mario12_Body, }; -s32 N(LetterDmaOffsets)[] = { - (s32) charset_postcard_OFFSET, (s32) charset_postcard_pal_OFFSET + 5, - (s32) charset_letter_content_1_OFFSET, (s32) charset_letter_content_1_pal_OFFSET + 6, - (s32) charset_letter_content_2_OFFSET, (s32) charset_letter_content_2_pal_OFFSET + 6, - (s32) charset_letter_content_3_OFFSET, (s32) charset_letter_content_3_pal_OFFSET + 6, - (s32) charset_letter_content_4_OFFSET, (s32) charset_letter_content_4_pal_OFFSET + 6, - (s32) charset_letter_content_5_OFFSET, (s32) charset_letter_content_5_pal_OFFSET + 6, - (s32) charset_letter_content_6_OFFSET, (s32) charset_letter_content_6_pal_OFFSET + 6, - (s32) charset_letter_content_7_OFFSET, (s32) charset_letter_content_7_pal_OFFSET + 6, - (s32) charset_letter_content_8_OFFSET, (s32) charset_letter_content_8_pal_OFFSET + 6, - (s32) charset_letter_content_9_OFFSET, (s32) charset_letter_content_9_pal_OFFSET + 6, - (s32) charset_letter_content_10_OFFSET, (s32) charset_letter_content_10_pal_OFFSET + 6, - (s32) charset_letter_content_11_OFFSET, (s32) charset_letter_content_11_pal_OFFSET + 6, - (s32) charset_letter_content_12_OFFSET, (s32) charset_letter_content_12_pal_OFFSET + 6, +u8* N(LetterDmaOffsets)[] = { + charset_postcard_OFFSET, (u8*) charset_postcard_pal_OFFSET, + charset_letter_content_1_OFFSET, (u8*) charset_letter_content_1_pal_OFFSET, + charset_letter_content_2_OFFSET, (u8*) charset_letter_content_2_pal_OFFSET, + charset_letter_content_3_OFFSET, (u8*) charset_letter_content_3_pal_OFFSET, + charset_letter_content_4_OFFSET, (u8*) charset_letter_content_4_pal_OFFSET, + charset_letter_content_5_OFFSET, (u8*) charset_letter_content_5_pal_OFFSET, + charset_letter_content_6_OFFSET, (u8*) charset_letter_content_6_pal_OFFSET, + charset_letter_content_7_OFFSET, (u8*) charset_letter_content_7_pal_OFFSET, + charset_letter_content_8_OFFSET, (u8*) charset_letter_content_8_pal_OFFSET, + charset_letter_content_9_OFFSET, (u8*) charset_letter_content_9_pal_OFFSET, + charset_letter_content_10_OFFSET, (u8*) charset_letter_content_10_pal_OFFSET, + charset_letter_content_11_OFFSET, (u8*) charset_letter_content_11_pal_OFFSET, + charset_letter_content_12_OFFSET, (u8*) charset_letter_content_12_pal_OFFSET, }; API_CALLABLE(N(InitLetters)){ @@ -224,11 +225,11 @@ API_CALLABLE(N(ReadLetters)){ evt_set_variable(NULL, GF_KMR20_ReadThankYouLetterFromKoopaVillage, TRUE); } - dma_copy(charset_ROM_START + N(LetterDmaOffsets)[0], - charset_ROM_START + N(LetterDmaOffsets)[0] + sizeof(N(LetterBackgroundImg)), + dma_copy(charset_ROM_START + (s32) N(LetterDmaOffsets)[0], + charset_ROM_START + (s32) N(LetterDmaOffsets)[0] + sizeof(N(LetterBackgroundImg)), N(LetterBackgroundImg)); - dma_copy(charset_ROM_START + N(LetterDmaOffsets)[1], - charset_ROM_START + N(LetterDmaOffsets)[1] + sizeof(N(LetterBackgroundPal)), + dma_copy(charset_ROM_START + (s32) N(LetterDmaOffsets)[1], + charset_ROM_START + (s32) N(LetterDmaOffsets)[1] + sizeof(N(LetterBackgroundPal)), N(LetterBackgroundPal)); N(LetterImgData)[0].raster = N(LetterBackgroundImg); @@ -238,11 +239,11 @@ API_CALLABLE(N(ReadLetters)){ N(LetterImgData)[0].format = G_IM_FMT_CI; N(LetterImgData)[0].bitDepth = G_IM_SIZ_4b; - dma_copy(charset_ROM_START + N(LetterDmaOffsets)[(userIndex * 2) + 2], - charset_ROM_START + N(LetterDmaOffsets)[(userIndex * 2) + 2] + sizeof(N(LetterPhotoImg)), + dma_copy(charset_ROM_START + (s32) N(LetterDmaOffsets)[(userIndex * 2) + 2], + charset_ROM_START + (s32) N(LetterDmaOffsets)[(userIndex * 2) + 2] + sizeof(N(LetterPhotoImg)), N(LetterPhotoImg)); - dma_copy(charset_ROM_START + N(LetterDmaOffsets)[(userIndex * 2) + 3], - charset_ROM_START + N(LetterDmaOffsets)[(userIndex * 2) + 3] + sizeof(N(N(LetterPhotoPal))), + dma_copy(charset_ROM_START + (s32) N(LetterDmaOffsets)[(userIndex * 2) + 3], + charset_ROM_START + (s32) N(LetterDmaOffsets)[(userIndex * 2) + 3] + sizeof(N(N(LetterPhotoPal))), N(N(LetterPhotoPal))); N(LetterImgData)[1].raster = N(LetterPhotoImg); diff --git a/src/world/area_osr/osr_00/scenes.c b/src/world/area_osr/osr_00/scenes.c index 8a2ebe7f6c..4dbd562808 100644 --- a/src/world/area_osr/osr_00/scenes.c +++ b/src/world/area_osr/osr_00/scenes.c @@ -1,6 +1,6 @@ #include "osr_00.h" #include "ld_addrs.h" -#include "charset/peach_letter.png.h" +#include "charset/charset.h" #include "sprite/npc/Luigi.h" @@ -23,11 +23,10 @@ BSS PAL_BIN N(PeachLetterPal)[0x100]; MAP_STATIC_PAD(2, letter); BSS MessageImageData N(MsgImage); -// TODO look into + 1 here... API_CALLABLE(N(func_802406E0_AACF10)) { s8* romStart = charset_ROM_START; - u8* rasterOffset = charset_peach_letter_png; - u16* paletteOffset = (u16*) charset_peach_letter_pal + 1; // todo ??? + u8* rasterOffset = charset_peach_letter_OFFSET; + u16* paletteOffset = charset_peach_letter_pal_OFFSET; dma_copy(romStart + (s32)rasterOffset, romStart + (s32)rasterOffset + sizeof(N(PeachLetterImg)), &N(PeachLetterImg)); dma_copy(romStart + (s32)paletteOffset, romStart + (s32)paletteOffset + sizeof(N(PeachLetterPal)), &N(PeachLetterPal)); diff --git a/tools/build/configure.py b/tools/build/configure.py index 61bb576432..16c9959aaa 100755 --- a/tools/build/configure.py +++ b/tools/build/configure.py @@ -849,6 +849,44 @@ class Configure: type="data", define=True, ) + elif seg.type == "pm_charset": + rasters = [] + entry = seg.get_linker_entries()[0] + + for src_path in entry.src_paths: + out_path = self.build_path() / seg.dir / seg.name / (src_path.stem + ".bin") + build( + out_path, + [src_path], + "pigment", + variables={ + "img_type": "ci4", + "img_flags": "", + }, + ) + rasters.append(out_path) + + build(entry.object_path.with_suffix(""), rasters, "charset") + build(entry.object_path, [entry.object_path.with_suffix("")], "bin") + elif seg.type == "pm_charset_palettes": + palettes = [] + entry = seg.get_linker_entries()[0] + + for src_path in entry.src_paths: + out_path = self.build_path() / seg.dir / seg.name / "palette" / (src_path.stem + ".bin") + build( + out_path, + [src_path], + "pigment", + variables={ + "img_type": "palette", + "img_flags": "", + }, + ) + palettes.append(out_path) + + build(entry.object_path.with_suffix(""), palettes, "charset_palettes") + build(entry.object_path, [entry.object_path.with_suffix("")], "bin") elif isinstance(seg, splat.segtypes.common.bin.CommonSegBin): build(entry.object_path, entry.src_paths, "bin") elif isinstance(seg, splat.segtypes.n64.yay0.N64SegYay0): @@ -1145,42 +1183,6 @@ class Configure: # combine build(entry.object_path.with_suffix(""), bin_yay0s, "mapfs") build(entry.object_path, [entry.object_path.with_suffix("")], "bin") - elif seg.type == "pm_charset": - rasters = [] - - for src_path in entry.src_paths: - out_path = self.build_path() / seg.dir / seg.name / (src_path.stem + ".bin") - build( - out_path, - [src_path], - "pigment", - variables={ - "img_type": "ci4", - "img_flags": "", - }, - ) - rasters.append(out_path) - - build(entry.object_path.with_suffix(""), rasters, "charset") - build(entry.object_path, [entry.object_path.with_suffix("")], "bin") - elif seg.type == "pm_charset_palettes": - palettes = [] - - for src_path in entry.src_paths: - out_path = self.build_path() / seg.dir / seg.name / "palette" / (src_path.stem + ".bin") - build( - out_path, - [src_path], - "pigment", - variables={ - "img_type": "palette", - "img_flags": "", - }, - ) - palettes.append(out_path) - - build(entry.object_path.with_suffix(""), palettes, "charset_palettes") - build(entry.object_path, [entry.object_path.with_suffix("")], "bin") elif seg.type == "pm_sprite_shading_profiles": header_path = str(self.build_path() / "include/sprite/sprite_shading_profiles.h") build( diff --git a/ver/ique/splat.yaml b/ver/ique/splat.yaml index 0dbfc2a923..9e8a7760e9 100644 --- a/ver/ique/splat.yaml +++ b/ver/ique/splat.yaml @@ -968,73 +968,46 @@ segments: vram: 0 start: 0x10E120 subsegments: - - [0x10E120, linker_offset, standard] - - [0x10E120, pm_charset, standard, 16, 16, 0x9E0] - - [0x15D120, linker_offset, standard_pal] - - [0x15D120, pm_charset_palettes, standard, 0x50] - - [0x15D620, linker_offset, title] - - [0x15D620, pm_charset, title, 12, 15, 0x29] - - [0x15E580, linker_offset, subtitle] - - [0x15E580, pm_charset, subtitle, 12, 12, 0x29] - - [0x15F108, bin] # padding - - [0x15F120, linker_offset, credits_pal] - - [0x15F120, pm_charset_palettes, subtitle, 1] - - [0x15F130, pm_charset_palettes, title, 1] - - [0x15F140, ci8, peach_letter, 150, 105] - - [0x162EC8, palette, peach_letter] - - [0x1630C8, linker_offset, postcard] - - [0x1630C8, ci4, postcard, 150, 105] - - [0x164F90, linker_offset, postcard_pal] - - [0x164F90, palette, postcard] - - [0x164FB0, linker_offset, letter_content_1] - - [0x164FB0, ci8, letter_content_1, 70, 95] - - [0x1669B0, linker_offset, letter_content_1_pal] - - [0x1669B0, palette, letter_content_1] - - [0x166BB0, linker_offset, letter_content_2] - - [0x166BB0, ci8, letter_content_2, 70, 95] - - [0x1685B0, linker_offset, letter_content_2_pal] - - [0x1685B0, palette, letter_content_2] - - [0x1687B0, linker_offset, letter_content_3] - - [0x1687B0, ci8, letter_content_3, 70, 95] - - [0x16A1B0, linker_offset, letter_content_3_pal] - - [0x16A1B0, palette, letter_content_3] - - [0x16A3B0, linker_offset, letter_content_4] - - [0x16A3B0, ci8, letter_content_4, 70, 95] - - [0x16BDB0, linker_offset, letter_content_4_pal] - - [0x16BDB0, palette, letter_content_4] - - [0x16BFB0, linker_offset, letter_content_5] - - [0x16BFB0, ci8, letter_content_5, 70, 95] - - [0x16D9B0, linker_offset, letter_content_5_pal] - - [0x16D9B0, palette, letter_content_5] - - [0x16DBB0, linker_offset, letter_content_6] - - [0x16DBB0, ci8, letter_content_6, 70, 95] - - [0x16F5B0, linker_offset, letter_content_6_pal] - - [0x16F5B0, palette, letter_content_6] - - [0x16F7B0, linker_offset, letter_content_7] - - [0x16F7B0, ci8, letter_content_7, 70, 95] - - [0x1711B0, linker_offset, letter_content_7_pal] - - [0x1711B0, palette, letter_content_7] - - [0x1713B0, linker_offset, letter_content_8] - - [0x1713B0, ci8, letter_content_8, 70, 95] - - [0x172DB0, linker_offset, letter_content_8_pal] - - [0x172DB0, palette, letter_content_8] - - [0x172FB0, linker_offset, letter_content_9] - - [0x172FB0, ci8, letter_content_9, 70, 95] - - [0x1749B0, linker_offset, letter_content_9_pal] - - [0x1749B0, palette, letter_content_9] - - [0x174BB0, linker_offset, letter_content_10] - - [0x174BB0, ci8, letter_content_10, 70, 95] - - [0x1765B0, linker_offset, letter_content_10_pal] - - [0x1765B0, palette, letter_content_10] - - [0x1767B0, linker_offset, letter_content_11] - - [0x1767B0, ci8, letter_content_11, 70, 95] - - [0x1781B0, linker_offset, letter_content_11_pal] - - [0x1781B0, palette, letter_content_11] - - [0x1783B0, linker_offset, letter_content_12] - - [0x1783B0, ci8, letter_content_12, 70, 95] - - [0x179DB0, linker_offset, letter_content_12_pal] - - [0x179DB0, palette, letter_content_12] - - [0x179FB0, bin] + - [auto, c, charset] + - type: .data + name: charset + subsegments: + - [0x10E120, pm_charset, standard, 16, 16, 0x9E0] + - [0x15D120, pm_charset_palettes, standard, 0x50] + - [0x15D620, pm_charset, title, 12, 15, 0x29] + - [0x15E580, pm_charset, subtitle, 12, 12, 0x29] + - [0x15F108] # padding + - [0x15F120, pm_charset_palettes, subtitle, 1] + - [0x15F130, pm_charset_palettes, title, 1] + - [0x15F140, ci8, peach_letter, 150, 105] + - [0x162EC8, palette, peach_letter] + - [0x1630C8, ci4, postcard, 150, 105] + - [0x164F90, palette, postcard] + - [0x164FB0, ci8, letter_content_1, 70, 95] + - [0x1669B0, palette, letter_content_1] + - [0x166BB0, ci8, letter_content_2, 70, 95] + - [0x1685B0, palette, letter_content_2] + - [0x1687B0, ci8, letter_content_3, 70, 95] + - [0x16A1B0, palette, letter_content_3] + - [0x16A3B0, ci8, letter_content_4, 70, 95] + - [0x16BDB0, palette, letter_content_4] + - [0x16BFB0, ci8, letter_content_5, 70, 95] + - [0x16D9B0, palette, letter_content_5] + - [0x16DBB0, ci8, letter_content_6, 70, 95] + - [0x16F5B0, palette, letter_content_6] + - [0x16F7B0, ci8, letter_content_7, 70, 95] + - [0x1711B0, palette, letter_content_7] + - [0x1713B0, ci8, letter_content_8, 70, 95] + - [0x172DB0, palette, letter_content_8] + - [0x172FB0, ci8, letter_content_9, 70, 95] + - [0x1749B0, palette, letter_content_9] + - [0x174BB0, ci8, letter_content_10, 70, 95] + - [0x1765B0, palette, letter_content_10] + - [0x1767B0, ci8, letter_content_11, 70, 95] + - [0x1781B0, palette, letter_content_11] + - [0x1783B0, ci8, letter_content_12, 70, 95] + - [0x179DB0, palette, letter_content_12] + - [0x179FB0] - name: ui_images_filemenu_pause type: code start: 0x179FC0 diff --git a/ver/ique/symbol_addrs.txt b/ver/ique/symbol_addrs.txt index 7b845bf8ae..8230a4fa46 100644 --- a/ver/ique/symbol_addrs.txt +++ b/ver/ique/symbol_addrs.txt @@ -19,7 +19,6 @@ theater_walls_png = 0x80073250; __osMaxControllers = 0x800991D2; __osFlashMsgBuf = 0x800991D4; __osCurrentTime = 0x800991D8; -__osCurrentTime + 4 = 0x800991DC; __osContLastCmd = 0x800991F0; __osEepromTimerMsg = 0x800991F4; __osBbLastVCount = 0x800991E8; @@ -46,16 +45,13 @@ sin_rad = 0x80029e3c; cos_rad = 0x80029ea0; D_8009A5EC = 0x800991b8; -__osContPifRam + 0x3C = 0x800AF94C; __osEepromTimerQ = 0x800d8e20; TitleScreen_ImgList_Copyright = 0x8009d38c; __osBbIsBb = 0x80000388; main_BSS_START = 0x80099170; main_BSS_SIZE = 0x41770; -nuBootStack + 0x2000 = 0x800B4FE0; piAccessBuf = 0x800af700; -__osFlashHandler + 0xC = 0x800D7C2C; D_800A08E4 = 0x8009d2f4; D_800A08E8 = 0x8009d2f8; D_800A08EC = 0x8009d2fc; @@ -73,7 +69,6 @@ osViModeMpalLan1 = 0x80094490; nuAuTaskStop = 0x80076de0; AlFrameSize = 0x800a0044; AlCmdListBuffers = 0x8009ff20; -nusched + 0x678 = 0x800D8E18; AlMinFrameSize = 0x800a0048; n_aspMain_text_bin = 0x80071e10; n_aspMain_data_bin = 0x80096700; @@ -84,7 +79,6 @@ nuAuDmaMesgBuf = 0x800a0068; nuAuDmaMesgQ = 0x800a0050; auSynDriver = 0x800b7bf0; nuAuMgrThread = 0x8009d968; -nuAuDmaBufList + 0x10 = 0x800A0600; nuAuPreNMIFunc = 0x80076dd4; nuAuHeap = 0x800d7d10; alHeapInit = 0x800575e0; @@ -378,7 +372,6 @@ __umoddi3 = 0x8006de80; strcpy = 0x8006e350; decode_yay0 = 0x8006e380; __osPfsPifRam = 0x800D8360; // size:0x40 -__osPfsPifRam + 0x3C = 0x800D839C; __osBbEepromSize = 0x80000360; __osBbEepromAddress = 0x8000035c; __osBbSramSize = 0x80000370; @@ -398,25 +391,12 @@ __osCurrentHandle = 0x80094540; __osSiAccessQueue = 0x800d9008; // size:0x18 siAccessBuf = 0x800ad300; -__Dom1SpeedParam + 0x4 = 0x800b2f6c; -__Dom1SpeedParam + 0x5 = 0x800b2f6d; -__Dom1SpeedParam + 0x6 = 0x800B2F6E; -__Dom1SpeedParam + 0x7 = 0x800B2F6F; -__Dom1SpeedParam + 0x8 = 0x800b2f70; tmp_task = 0x800ad2c0; // size:0x40 __osBbRCountWraps = 0x80099198; __osBbLastRCount = 0x800991a4; -__Dom2SpeedParam + 0x4 = 0x800b0548; -__Dom2SpeedParam + 0x5 = 0x800b0549; -__Dom2SpeedParam + 0x6 = 0x800b054a; -__Dom2SpeedParam + 0x7 = 0x800b054b; -__Dom2SpeedParam + 0x8 = 0x800b054c; - piThread = 0x800ae530; // size:432 __CartRomHandle = 0x800b2d58; // size:116 -__CartRomHandle + 0x4 = 0x800B2D5C; -__CartRomHandle + 0xC = 0x800B2D64; piEventBuf = 0x800af6f8; piEventQueue = 0x800af6e0; // size:24 __osEventStateTab = 0x800d825c; // size:0x110 @@ -468,17 +448,6 @@ hud_element_draw_next = 0x80142f54; draw_number = 0x80125a4c; gPlayerData = 0x8010d670; -gPlayerData + 0x1 = 0x8010d671; -gPlayerData + 0x2 = 0x8010d672; -gPlayerData + 0x3 = 0x8010d673; -gPlayerData + 0x5 = 0x8010d675; -gPlayerData + 0x6 = 0x8010d676; -gPlayerData + 0x8 = 0x8010d678; -gPlayerData + 0x9 = 0x8010d679; -gPlayerData + 0xC = 0x8010d67C; -gPlayerData + 0xF = 0x8010d67F; -gPlayerData + 0x10 = 0x8010d680; -gPlayerData + 0x2BC = 0x8010D92C; gPauseWS_10 = 0x8026fbb0; gPauseStatsBootsMessages = 0x8024f390; gPauseStatsHammerMessages = 0x8024f3a0; @@ -550,8 +519,6 @@ MsgCharImgSubtitle = 0x802f39d0; sfx_play_sound_with_params = 0x80148248; heap_malloc = 0x8002a9b4; D_80159180 = 0x8015b500; -charset_postcard_png = 0x00054fa8; -charset_postcard_pal + 5 = 0x00056e70; D_80159B50 = 0x8015bed0; gOverrideFlags = 0x80099228; ItemSpawnWithinPlayerPickupDelay = 0x80158926; @@ -4457,53 +4424,6 @@ spr_get_npc_color_variations = 0x802DEA6C; battle_partner_twink_IsPeachBattle = 0x80238000; battle_partner_watt = 0x802390B0; battle_item_egg_missile_EVS_UseItem = 0x802A25A0; -gItemTable + 0xC = 0x8008654C; -gItemTable + 0x12A0 = 0x800877E0; -gItemTable + 0x1CE4 = 0x80088224; -gItemTable + 0x1F04 = 0x80088444; -gMoveTable + 0x4 = 0x8008DCC4; -gMoveTable + 0x11 = 0x8008DCD1; -gMoveTable + 0x13 = 0x8008DCD3; -gMoveTable + 0x7C = 0x8008DD3C; -gMoveTable + 0x248 = 0x8008DF08; -gBattleAreas + 0x1C = 0x800946CC; -gCurrentEncounter + 0x5 = 0x800AF955; -gCurrentEncounter + 0x9 = 0x800AF959; -gCameras + 0x558 = 0x800B0D28; -gCameras + 0x5C4 = 0x800B0D94; -gCameras + 0xAB0 = 0x800B1280; -gBattleStatus + 0x4 = 0x800DA454; -gBattleStatus + 0x8 = 0x800DA458; -gBattleStatus + 0x70 = 0x800DA4C0; -gBattleStatus + 0x74 = 0x800DA4C4; -gBattleStatus + 0x78 = 0x800DA4C8; -gBattleStatus + 0x81 = 0x800DA4D1; -gBattleStatus + 0x83 = 0x800DA4D3; -gBattleStatus + 0x84 = 0x800DA4D4; -gBattleStatus + 0x85 = 0x800DA4D5; -gBattleStatus + 0x86 = 0x800DA4D6; -gBattleStatus + 0x87 = 0x800DA4D7; -gBattleStatus + 0x8D = 0x800DA4DD; -gBattleStatus + 0xD8 = 0x800DA528; -gBattleStatus + 0xDC = 0x800DA52C; -gBattleStatus + 0x17A = 0x800DA5CA; -gBattleStatus + 0x180 = 0x800DA5D0; -gBattleStatus + 0x184 = 0x800DA5D4; -gBattleStatus + 0x188 = 0x800DA5D8; -gBattleStatus + 0x19A = 0x800DA5EA; -gBattleStatus + 0x1A7 = 0x800DA5F7; -gBattleStatus + 0x1A8 = 0x800DA5F8; -gBattleStatus + 0x210 = 0x800DA660; -gBattleStatus + 0x214 = 0x800DA664; -gBattleStatus + 0x218 = 0x800DA668; -gBattleStatus + 0x224 = 0x800DA674; -gBattleStatus + 0x434 = 0x800DA884; -gBattleStatus + 0x438 = 0x800DA888; -gCurrentBattleID + 0x2 = 0x800DA8CA; -NpcHitQueryBehindCollider + 0x3 = 0x8010AD4B; -gPlayerData + 0xA = 0x8010D67A; -gPlayerData + 0x28A = 0x8010D8FA; -gWindows + 0x12E = 0x8015C1FE; HES_level_up_small_red_digit_7 = 0x802AA5F4; ui_battle_menu_unused_png = 0x802893C0; // rom:0x200D60 ui_battle_menu_unused_pal = 0x802895C0; // rom:0x200F60 @@ -4832,3 +4752,7 @@ D_802A6670_7A45B0 = 0x802A6670; // rom:0x7ED000 D_09000218_398DD8 = 0x09000218; // rom:0x3E1828 D_09001518_39A0D8 = 0x09001518; // rom:0x3E2B28 + +charset_peach_letter_png = 0x00051020; //rom:0x15F140 +charset_postcard_png = 0x00054FA8; //rom:0x1630C8 +charset_letter_content_1_png = 0x00056E90; //rom:0x164FB0 diff --git a/ver/jp/splat.yaml b/ver/jp/splat.yaml index 1ec658446f..c4cda72a16 100644 --- a/ver/jp/splat.yaml +++ b/ver/jp/splat.yaml @@ -959,87 +959,55 @@ segments: - [auto, palette, ui/msg/rewind_arrow] - [auto, rgba16, ui/msg/star, 16, 18] - [auto, i4, ui/msg/star_silhouette, 16, 20] - - type: group + - type: code dir: charset vram: 0 start: 0x10F330 subsegments: - - [0x10F330, linker_offset, kana] - - [0x10F330, pm_charset, kana, 16, 14, 0xC7, standard] - - [0x114A40, linker_offset, latin] - - [0x114A40, pm_charset, latin, 16, 14, 0x1B, standard] - - [0x115610, linker_offset, kanji] - - [0x115610, pm_charset, kanji, 16, 14, 0x79, standard] - - [0x118B00, linker_offset, buttons] - - [0x118B00, pm_charset, buttons, 16, 14, 0xA, standard] - - [0x118F60, linker_offset, menu_kana] - - [0x118F60, pm_charset, menu_kana, 12, 12, 0xC8, standard] - - [0x11C7A0, linker_offset, menu_latin] - - [0x11C7A0, pm_charset, menu_latin, 12, 12, 0x1B, standard] - - [0x11CF38, linker_offset, standard_pal] - - [0x11CF38, pm_charset_palettes, standard, 0x50] - - [0x11D438, linker_offset, title] - - [0x11D438, pm_charset, title, 12, 15, 0x29] - - [0x11E398, linker_offset, subtitle] - - [0x11E398, pm_charset, subtitle, 12, 12, 0x29] - - [0x11EF20, linker_offset, credits_pal] - - [0x11EF20, pm_charset_palettes, subtitle, 1] - - [0x11EF30, pm_charset_palettes, title, 1] - - [0x11EF40, ci8, peach_letter, 150, 105] - - [0x122CC8, palette, peach_letter] - - [0x122EC8, linker_offset, postcard] - - [0x122EC8, ci4, postcard, 150, 105] - - [0x124D90, linker_offset, postcard_pal] - - [0x124D90, palette, postcard] - - [0x124DB0, linker_offset, letter_content_1] - - [0x124DB0, ci8, letter_content_1, 70, 95] - - [0x1267B0, linker_offset, letter_content_1_pal] - - [0x1267B0, palette, letter_content_1] - - [0x1269B0, linker_offset, letter_content_2] - - [0x1269B0, ci8, letter_content_2, 70, 95] - - [0x1283B0, linker_offset, letter_content_2_pal] - - [0x1283B0, palette, letter_content_2] - - [0x1285B0, linker_offset, letter_content_3] - - [0x1285B0, ci8, letter_content_3, 70, 95] - - [0x129FB0, linker_offset, letter_content_3_pal] - - [0x129FB0, palette, letter_content_3] - - [0x12A1B0, linker_offset, letter_content_4] - - [0x12A1B0, ci8, letter_content_4, 70, 95] - - [0x12BBB0, linker_offset, letter_content_4_pal] - - [0x12BBB0, palette, letter_content_4] - - [0x12BDB0, linker_offset, letter_content_5] - - [0x12BDB0, ci8, letter_content_5, 70, 95] - - [0x12D7B0, linker_offset, letter_content_5_pal] - - [0x12D7B0, palette, letter_content_5] - - [0x12D9B0, linker_offset, letter_content_6] - - [0x12D9B0, ci8, letter_content_6, 70, 95] - - [0x12F3B0, linker_offset, letter_content_6_pal] - - [0x12F3B0, palette, letter_content_6] - - [0x12F5B0, linker_offset, letter_content_7] - - [0x12F5B0, ci8, letter_content_7, 70, 95] - - [0x130FB0, linker_offset, letter_content_7_pal] - - [0x130FB0, palette, letter_content_7] - - [0x1311B0, linker_offset, letter_content_8] - - [0x1311B0, ci8, letter_content_8, 70, 95] - - [0x132BB0, linker_offset, letter_content_8_pal] - - [0x132BB0, palette, letter_content_8] - - [0x132DB0, linker_offset, letter_content_9] - - [0x132DB0, ci8, letter_content_9, 70, 95] - - [0x1347B0, linker_offset, letter_content_9_pal] - - [0x1347B0, palette, letter_content_9] - - [0x1349B0, linker_offset, letter_content_10] - - [0x1349B0, ci8, letter_content_10, 70, 95] - - [0x1363B0, linker_offset, letter_content_10_pal] - - [0x1363B0, palette, letter_content_10] - - [0x1365B0, linker_offset, letter_content_11] - - [0x1365B0, ci8, letter_content_11, 70, 95] - - [0x137FB0, linker_offset, letter_content_11_pal] - - [0x137FB0, palette, letter_content_11] - - [0x1381B0, linker_offset, letter_content_12] - - [0x1381B0, ci8, letter_content_12, 70, 95] - - [0x139BB0, linker_offset, letter_content_12_pal] - - [0x139BB0, palette, letter_content_12] - - [0x139DB0, bin] + - [auto, c, charset] + - type: .data + name: charset + subsegments: + - [0x10F330, pm_charset, kana, 16, 14, 0xC7, standard] + - [0x114A40, pm_charset, latin, 16, 14, 0x1B, standard] + - [0x115610, pm_charset, kanji, 16, 14, 0x79, standard] + - [0x118B00, pm_charset, buttons, 16, 14, 0xA, standard] + - [0x118F60, pm_charset, menu_kana, 12, 12, 0xC8, standard] + - [0x11C7A0, pm_charset, menu_latin, 12, 12, 0x1B, standard] + - [0x11CF38, pm_charset_palettes, standard, 0x50] + - [0x11D438, pm_charset, title, 12, 15, 0x29] + - [0x11E398, pm_charset, subtitle, 12, 12, 0x29] + - [0x11EF20, pm_charset_palettes, subtitle, 1] + - [0x11EF30, pm_charset_palettes, title, 1] + - [0x11EF40, ci8, peach_letter, 150, 105] + - [0x122CC8, palette, peach_letter] + - [0x122EC8, ci4, postcard, 150, 105] + - [0x124D90, palette, postcard] + - [0x124DB0, ci8, letter_content_1, 70, 95] + - [0x1267B0, palette, letter_content_1] + - [0x1269B0, ci8, letter_content_2, 70, 95] + - [0x1283B0, palette, letter_content_2] + - [0x1285B0, ci8, letter_content_3, 70, 95] + - [0x129FB0, palette, letter_content_3] + - [0x12A1B0, ci8, letter_content_4, 70, 95] + - [0x12BBB0, palette, letter_content_4] + - [0x12BDB0, ci8, letter_content_5, 70, 95] + - [0x12D7B0, palette, letter_content_5] + - [0x12D9B0, ci8, letter_content_6, 70, 95] + - [0x12F3B0, palette, letter_content_6] + - [0x12F5B0, ci8, letter_content_7, 70, 95] + - [0x130FB0, palette, letter_content_7] + - [0x1311B0, ci8, letter_content_8, 70, 95] + - [0x132BB0, palette, letter_content_8] + - [0x132DB0, ci8, letter_content_9, 70, 95] + - [0x1347B0, palette, letter_content_9] + - [0x1349B0, ci8, letter_content_10, 70, 95] + - [0x1363B0, palette, letter_content_10] + - [0x1365B0, ci8, letter_content_11, 70, 95] + - [0x137FB0, palette, letter_content_11] + - [0x1381B0, ci8, letter_content_12, 70, 95] + - [0x139BB0, palette, letter_content_12] + - [0x139DB0] - name: ui_images_filemenu_pause type: code start: 0x139DC0 diff --git a/ver/jp/symbol_addrs.txt b/ver/jp/symbol_addrs.txt index 3e28c31e3d..6468fd2d4a 100644 --- a/ver/jp/symbol_addrs.txt +++ b/ver/jp/symbol_addrs.txt @@ -4887,3 +4887,7 @@ D_0A000000_E7B0E0 = 0x0A000000; // rom:0xE83F60 D_0A000000_E815F0 = 0x0A000000; // rom:0xE8A470 D_0A000000_E8A9E0 = 0x0A000000; // rom:0xE93860 D_0A000000_E91890 = 0x0A000000; // rom:0xE9A710 + +charset_peach_letter_png = 0x0000FC10; //rom:0x11EF40 +charset_postcard_png = 0x00013B98; //rom:0x122EC8 +charset_letter_content_1_png = 0x00015A80; //rom:0x124DB0 diff --git a/ver/pal/splat.yaml b/ver/pal/splat.yaml index 065fcde8ed..8ef41915ed 100644 --- a/ver/pal/splat.yaml +++ b/ver/pal/splat.yaml @@ -646,77 +646,50 @@ segments: - [0x10E710, bin] - - type: group + - type: code dir: charset vram: 0 start: 0x110CB0 subsegments: - - [0x110CB0, linker_offset, standard] - - [0x110CB0, pm_charset, standard, 16, 16, 0xA6] - - [0x115FB0, linker_offset, standard_pal] - - [0x115FB0, pm_charset_palettes, standard, 0x50] - - [0x1164B0, linker_offset, title] - - [0x1164B0, pm_charset, title, 12, 15, 0x29] - - [0x117410, linker_offset, subtitle] - - [0x117410, pm_charset, subtitle, 12, 12, 0x29] - - [0x117F98, linker_offset, credits_pal] - - [0x117F98, pm_charset_palettes, subtitle, 1] - - [0x117FA8, pm_charset_palettes, title, 1] - - [0x117FB8, ci8, peach_letter, 150, 105] - - [0x11BD40, palette, peach_letter] - - [0x11BF40, linker_offset, postcard] - - [0x11BF40, ci4, postcard, 150, 105] - - [0x11DE08, linker_offset, postcard_pal] - - [0x11DE08, palette, postcard] - - [0x11DE28, linker_offset, letter_content_1] - - [0x11DE28, ci8, letter_content_1, 70, 95] - - [0x11F828, linker_offset, letter_content_1_pal] - - [0x11F828, palette, letter_content_1] - - [0x11FA28, linker_offset, letter_content_2] - - [0x11FA28, ci8, letter_content_2, 70, 95] - - [0x121428, linker_offset, letter_content_2_pal] - - [0x121428, palette, letter_content_2] - - [0x121628, linker_offset, letter_content_3] - - [0x121628, ci8, letter_content_3, 70, 95] - - [0x123028, linker_offset, letter_content_3_pal] - - [0x123028, palette, letter_content_3] - - [0x123228, linker_offset, letter_content_4] - - [0x123228, ci8, letter_content_4, 70, 95] - - [0x124C28, linker_offset, letter_content_4_pal] - - [0x124C28, palette, letter_content_4] - - [0x124E28, linker_offset, letter_content_5] - - [0x124E28, ci8, letter_content_5, 70, 95] - - [0x126828, linker_offset, letter_content_5_pal] - - [0x126828, palette, letter_content_5] - - [0x126A28, linker_offset, letter_content_6] - - [0x126A28, ci8, letter_content_6, 70, 95] - - [0x128428, linker_offset, letter_content_6_pal] - - [0x128428, palette, letter_content_6] - - [0x128628, linker_offset, letter_content_7] - - [0x128628, ci8, letter_content_7, 70, 95] - - [0x12A028, linker_offset, letter_content_7_pal] - - [0x12A028, palette, letter_content_7] - - [0x12A228, linker_offset, letter_content_8] - - [0x12A228, ci8, letter_content_8, 70, 95] - - [0x12BC28, linker_offset, letter_content_8_pal] - - [0x12BC28, palette, letter_content_8] - - [0x12BE28, linker_offset, letter_content_9] - - [0x12BE28, ci8, letter_content_9, 70, 95] - - [0x12D828, linker_offset, letter_content_9_pal] - - [0x12D828, palette, letter_content_9] - - [0x12DA28, linker_offset, letter_content_10] - - [0x12DA28, ci8, letter_content_10, 70, 95] - - [0x12F428, linker_offset, letter_content_10_pal] - - [0x12F428, palette, letter_content_10] - - [0x12F628, linker_offset, letter_content_11] - - [0x12F628, ci8, letter_content_11, 70, 95] - - [0x131028, linker_offset, letter_content_11_pal] - - [0x131028, palette, letter_content_11] - - [0x131228, linker_offset, letter_content_12] - - [0x131228, ci8, letter_content_12, 70, 95] - - [0x132C28, linker_offset, letter_content_12_pal] - - [0x132C28, palette, letter_content_12] - - [0x132E28, bin] # length 0x18, non zero + - [auto, c, charset] + - type: .data + name: charset + subsegments: + - [0x110CB0, pm_charset, standard, 16, 16, 0xA6] + - [0x115FB0, pm_charset_palettes, standard, 0x50] + - [0x1164B0, pm_charset, title, 12, 15, 0x29] + - [0x117410, pm_charset, subtitle, 12, 12, 0x29] + - [0x117F98, pm_charset_palettes, subtitle, 1] + - [0x117FA8, pm_charset_palettes, title, 1] + - [0x117FB8, ci8, peach_letter, 150, 105] + - [0x11BD40, palette, peach_letter] + - [0x11BF40, ci4, postcard, 150, 105] + - [0x11DE08, palette, postcard] + - [0x11DE28, ci8, letter_content_1, 70, 95] + - [0x11F828, palette, letter_content_1] + - [0x11FA28, ci8, letter_content_2, 70, 95] + - [0x121428, palette, letter_content_2] + - [0x121628, ci8, letter_content_3, 70, 95] + - [0x123028, palette, letter_content_3] + - [0x123228, ci8, letter_content_4, 70, 95] + - [0x124C28, palette, letter_content_4] + - [0x124E28, ci8, letter_content_5, 70, 95] + - [0x126828, palette, letter_content_5] + - [0x126A28, ci8, letter_content_6, 70, 95] + - [0x128428, palette, letter_content_6] + - [0x128628, ci8, letter_content_7, 70, 95] + - [0x12A028, palette, letter_content_7] + - [0x12A228, ci8, letter_content_8, 70, 95] + - [0x12BC28, palette, letter_content_8] + - [0x12BE28, ci8, letter_content_9, 70, 95] + - [0x12D828, palette, letter_content_9] + - [0x12DA28, ci8, letter_content_10, 70, 95] + - [0x12F428, palette, letter_content_10] + - [0x12F628, ci8, letter_content_11, 70, 95] + - [0x131028, palette, letter_content_11] + - [0x131228, ci8, letter_content_12, 70, 95] + - [0x132C28, palette, letter_content_12] + - [0x132E28] - name: ui_images_filemenu_pause type: code diff --git a/ver/pal/symbol_addrs.txt b/ver/pal/symbol_addrs.txt index 3e346bbe9a..9bca6090a2 100644 --- a/ver/pal/symbol_addrs.txt +++ b/ver/pal/symbol_addrs.txt @@ -2925,3 +2925,7 @@ D_0A0006C0_E4B9A0 = 0xA0006C0; // rom:0xEB89B0 D_0A000900_E4BBE0 = 0xA000900; // rom:0xEB8BF0 D_0A0021E8_E4D4C8 = 0xA001170; // rom:0xEB9460 D_PAL_0A002170_EBA460 = 0xA002170; // rom:0xEBA460 + +charset_peach_letter_png = 0x00007308; //rom:0x117FB8 +charset_postcard_png = 0x0000B290; //rom:0x11BF40 +charset_letter_content_1_png = 0x0000D178; //rom:0x11DE28 diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index d2b8314dc6..e76b7adb10 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -1011,77 +1011,50 @@ segments: vram_class: heaps3 subsegments: - [auto, c, heaps3] - - type: group + - type: code dir: charset vram: 0 start: 0x10F1B0 subsegments: - - [0x10F1B0, linker_offset, standard] - - [0x10F1B0, pm_charset, standard, 16, 16, 0xA6] - - [0x1144B0, linker_offset, standard_pal] - - [0x1144B0, pm_charset_palettes, standard, 0x50] - - [0x1149B0, linker_offset, title] - - [0x1149B0, pm_charset, title, 12, 15, 0x29] - - [0x115910, linker_offset, subtitle] - - [0x115910, pm_charset, subtitle, 12, 12, 0x29] - - [0x116498, linker_offset, credits_pal] - - [0x116498, pm_charset_palettes, subtitle, 1] - - [0x1164A8, pm_charset_palettes, title, 1] - - [0x1164B8, ci8, peach_letter, 150, 105] - - [0x11A240, palette, peach_letter] - - [0x11A440, linker_offset, postcard] - - [0x11A440, ci4, postcard, 150, 105] - - [0x11C308, linker_offset, postcard_pal] - - [0x11C308, palette, postcard] - - [0x11C328, linker_offset, letter_content_1] - - [0x11C328, ci8, letter_content_1, 70, 95] - - [0x11DD28, linker_offset, letter_content_1_pal] - - [0x11DD28, palette, letter_content_1] - - [0x11DF28, linker_offset, letter_content_2] - - [0x11DF28, ci8, letter_content_2, 70, 95] - - [0x11F928, linker_offset, letter_content_2_pal] - - [0x11F928, palette, letter_content_2] - - [0x11FB28, linker_offset, letter_content_3] - - [0x11FB28, ci8, letter_content_3, 70, 95] - - [0x121528, linker_offset, letter_content_3_pal] - - [0x121528, palette, letter_content_3] - - [0x121728, linker_offset, letter_content_4] - - [0x121728, ci8, letter_content_4, 70, 95] - - [0x123128, linker_offset, letter_content_4_pal] - - [0x123128, palette, letter_content_4] - - [0x123328, linker_offset, letter_content_5] - - [0x123328, ci8, letter_content_5, 70, 95] - - [0x124D28, linker_offset, letter_content_5_pal] - - [0x124D28, palette, letter_content_5] - - [0x124F28, linker_offset, letter_content_6] - - [0x124F28, ci8, letter_content_6, 70, 95] - - [0x126928, linker_offset, letter_content_6_pal] - - [0x126928, palette, letter_content_6] - - [0x126B28, linker_offset, letter_content_7] - - [0x126B28, ci8, letter_content_7, 70, 95] - - [0x128528, linker_offset, letter_content_7_pal] - - [0x128528, palette, letter_content_7] - - [0x128728, linker_offset, letter_content_8] - - [0x128728, ci8, letter_content_8, 70, 95] - - [0x12A128, linker_offset, letter_content_8_pal] - - [0x12A128, palette, letter_content_8] - - [0x12A328, linker_offset, letter_content_9] - - [0x12A328, ci8, letter_content_9, 70, 95] - - [0x12BD28, linker_offset, letter_content_9_pal] - - [0x12BD28, palette, letter_content_9] - - [0x12BF28, linker_offset, letter_content_10] - - [0x12BF28, ci8, letter_content_10, 70, 95] - - [0x12D928, linker_offset, letter_content_10_pal] - - [0x12D928, palette, letter_content_10] - - [0x12DB28, linker_offset, letter_content_11] - - [0x12DB28, ci8, letter_content_11, 70, 95] - - [0x12F528, linker_offset, letter_content_11_pal] - - [0x12F528, palette, letter_content_11] - - [0x12F728, linker_offset, letter_content_12] - - [0x12F728, ci8, letter_content_12, 70, 95] - - [0x131128, linker_offset, letter_content_12_pal] - - [0x131128, palette, letter_content_12] - - [0x131328, bin] # length 0x18, non zero + - [auto, c, charset] + - type: .data + name: charset + subsegments: + - [0x10F1B0, pm_charset, standard, 16, 16, 0xA6] + - [0x1144B0, pm_charset_palettes, standard, 0x50] + - [0x1149B0, pm_charset, title, 12, 15, 0x29] + - [0x115910, pm_charset, subtitle, 12, 12, 0x29] + - [0x116498, pm_charset_palettes, subtitle, 1] + - [0x1164A8, pm_charset_palettes, title, 1] + - [0x1164B8, ci8, peach_letter, 150, 105] + - [0x11A240, palette, peach_letter] + - [0x11A440, ci4, postcard, 150, 105] + - [0x11C308, palette, postcard] + - [0x11C328, ci8, letter_content_1, 70, 95] + - [0x11DD28, palette, letter_content_1] + - [0x11DF28, ci8, letter_content_2, 70, 95] + - [0x11F928, palette, letter_content_2] + - [0x11FB28, ci8, letter_content_3, 70, 95] + - [0x121528, palette, letter_content_3] + - [0x121728, ci8, letter_content_4, 70, 95] + - [0x123128, palette, letter_content_4] + - [0x123328, ci8, letter_content_5, 70, 95] + - [0x124D28, palette, letter_content_5] + - [0x124F28, ci8, letter_content_6, 70, 95] + - [0x126928, palette, letter_content_6] + - [0x126B28, ci8, letter_content_7, 70, 95] + - [0x128528, palette, letter_content_7] + - [0x128728, ci8, letter_content_8, 70, 95] + - [0x12A128, palette, letter_content_8] + - [0x12A328, ci8, letter_content_9, 70, 95] + - [0x12BD28, palette, letter_content_9] + - [0x12BF28, ci8, letter_content_10, 70, 95] + - [0x12D928, palette, letter_content_10] + - [0x12DB28, ci8, letter_content_11, 70, 95] + - [0x12F528, palette, letter_content_11] + - [0x12F728, ci8, letter_content_12, 70, 95] + - [0x131128, palette, letter_content_12] + - [0x131328] - name: ui_images_filemenu_pause type: code start: 0x131340 diff --git a/ver/us/symbol_addrs.txt b/ver/us/symbol_addrs.txt index 9631b49ef4..fcbdff7e52 100644 --- a/ver/us/symbol_addrs.txt +++ b/ver/us/symbol_addrs.txt @@ -26304,3 +26304,7 @@ battle_move_hammer_throw_dusty_hammer_gfx = 0x802A3908; // rom:0x754D58 battle_move_hammer_throw_basic_hammer_gfx = 0x802A39F8; // rom:0x754E48 battle_move_hammer_throw_super_hammer_gfx = 0x802A3AE8; // rom:0x754F38 battle_move_hammer_throw_ultra_hammer_gfx = 0x802A3BD8; // rom:0x755028 + +charset_peach_letter_png = 0x00007308; //rom:0x1164B8 +charset_postcard_png = 0x0000B290; //rom:0x11A440 +charset_letter_content_1_png = 0x0000D178; //rom:0x11C328