Fix charset craziness (#1202)
Some checks failed
Docs / doxygen (push) Failing after 0s

This commit is contained in:
Ethan Roseman 2024-09-13 02:00:57 +09:00 committed by GitHub
parent 8b198cf9d2
commit 888b27eec8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
18 changed files with 440 additions and 457 deletions

View File

@ -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

69
src/charset/charset.c Normal file
View File

@ -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;

66
src/charset/charset.h Normal file
View File

@ -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

View File

@ -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];

View File

@ -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:

View File

@ -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[] = {

View File

@ -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"

View File

@ -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);

View File

@ -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));

View File

@ -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(

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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