From 7121cb8df8781700545e48070aa47f0f9c31115b Mon Sep 17 00:00:00 2001 From: AnonymousRandomPerson Date: Sun, 6 Sep 2026 23:55:57 -0400 Subject: [PATCH 1/3] Filled language addresses --- symbols/overlay10.yml | 12 ++++++++++++ symbols/overlay29.yml | 26 ++++++++++++++++++++++++++ symbols/overlay31.yml | 2 ++ 3 files changed, 40 insertions(+) diff --git a/symbols/overlay10.yml b/symbols/overlay10.yml index d0ea5496..7009d846 100644 --- a/symbols/overlay10.yml +++ b/symbols/overlay10.yml @@ -164,6 +164,8 @@ overlay10: - name: TerminateAllEffects address: EU: 0x22BE508 + NA: 0x22BDBC8 + JP: 0x22BF36C description: |- Terminates all currently playing live effects. @@ -171,6 +173,8 @@ overlay10: - name: TerminateEffect address: EU: 0x22BE5FC + NA: 0x22BDCBC + JP: 0x22BF460 description: |- Makes the live effect with the given unique id stop playing in the middle of execution. @@ -179,6 +183,8 @@ overlay10: - name: TerminateEffectWrapper address: EU: 0x22BE790 + NA: 0x22BDE50 + JP: 0x22BF5F4 description: |- Wrapper for TerminateEffect. @@ -196,6 +202,8 @@ overlay10: - name: PlayEffect address: EU: 0x22BE900 + NA: 0x22BDFC0 + JP: 0x22BF764 description: |- Fills a live_effect struct's fields with specific effect-related information to begin playback. @@ -206,6 +214,8 @@ overlay10: - name: GetLiveEffectIdx address: EU: 0x22BF2E0 + NA: 0x22BE9A0 + JP: 0x22C0144 description: |- Gets a live effect's index in EFFECT_CONTROL.live_effects from its unique id. @@ -214,6 +224,8 @@ overlay10: - name: DisplayEffect address: EU: 0x22BFE30 + NA: 0x22BF4F0 + JP: 0x22C0C94 description: |- Displays the current frame of an effect animation, also handling playing the sound effect if necessary. diff --git a/symbols/overlay29.yml b/symbols/overlay29.yml index 684052e1..97e034d2 100644 --- a/symbols/overlay29.yml +++ b/symbols/overlay29.yml @@ -1073,6 +1073,8 @@ overlay29: - name: PlayItemThrowSfx address: EU: 0x22E60D8 + NA: 0x22E5728 + JP: 0x22E6D98 description: |- Plays the appropriate sound effect for throwing an item based on its category. @@ -1627,6 +1629,8 @@ overlay29: - name: GetCurvedProjectileTargetPos address: EU: 0x22EA44C + NA: 0x22E9A9C + JP: 0x22EB104 description: |- Gets the position a curved projectile should land at when thrown by the user. @@ -2897,6 +2901,8 @@ overlay29: - name: GetShopkeeperIfTalkable address: EU: 0x22F6BC8 + NA: 0x22F6210 + JP: 0x22F77F4 description: |- Returns a pointer to the floor's shopkeeper, or an invalid entity pointer if there is none, they cannot be talked to, or they are not in the same room as the leader. @@ -2905,6 +2911,8 @@ overlay29: - name: HandleShopTransaction address: EU: 0x22F6C84 + NA: 0x22F62CC + JP: 0x22F78B0 description: |- Checks if a Kecleon shop transaction should occur and initiates it if so. @@ -2919,6 +2927,8 @@ overlay29: - name: TryBuyFromShop address: EU: 0x22F73C4 + NA: 0x22F6A0C + JP: 0x22F7FF4 description: |- Handles buying from a Kecleon shop. @@ -2927,6 +2937,8 @@ overlay29: - name: TriggerThiefAlert address: EU: 0x22F7664 + NA: 0x22F6CAC + JP: 0x22F8290 description: |- Triggers the sequence for stealing from a Kecleon shop. @@ -3431,6 +3443,8 @@ overlay29: - name: ActivateTerrainEffects address: EU: 0x22FA680 + NA: 0x22F9C74 + JP: 0x22FB22C description: |- Handles causing the burn from lava, healing a burn from water, and decreasing hunger in the walls. @@ -4101,6 +4115,8 @@ overlay29: - name: CannotMoveToTile address: EU: 0x2300190 + NA: 0x22FF764 + JP: 0x2300B54 description: |- Same as CannotStandOnTile, but also returns false if the monster is currently on the tile. @@ -4392,6 +4408,8 @@ overlay29: - name: CanBeTalkedTo address: EU: 0x23013F8 + NA: 0x23009CC + JP: 0x2301DB0 description: |- Returns true if the monster doesn't have a status that prevents it from being talked to. @@ -5015,6 +5033,8 @@ overlay29: - name: MakeMonsterIdleInDirectionIfValid address: EU: 0x230542C + NA: 0x2304A00 + JP: 0x2305F50 description: |- Makes the monster play their idle animation. Also makes them do so in the given direction and sets the direction field of their action struct if the direction parameter is between 0 and 7 (inclusive). @@ -8010,6 +8030,8 @@ overlay29: - name: CalcExplosionDamage address: EU: 0x232150C + NA: 0x2320AA4 + JP: 0x2321F50 description: |- Calculates and inflicts damage from an explosion. @@ -8021,6 +8043,8 @@ overlay29: - name: CalcAftermathExplosionDamage address: EU: 0x2321634 + NA: 0x2320BCC + JP: 0x2322078 description: |- Calculates and inflicts damage from an aftermath explosion. @@ -12623,6 +12647,8 @@ overlay29: - name: EXPLOSION_FIXED_DAMAGES address: EU: 0x2354300 + NA: 0x2353700 + JP: 0x2354980 length: EU: 0xC description: "Array of damages indexed by radius for explosion damage (before reductions from exclusive items, etc)." diff --git a/symbols/overlay31.yml b/symbols/overlay31.yml index fc4bc262..502378f3 100644 --- a/symbols/overlay31.yml +++ b/symbols/overlay31.yml @@ -110,6 +110,8 @@ overlay31: - name: StairsDescriptionCallback address: EU: 0x2383E48 + NA: 0x2383248 + JP: 0x23844C8 description: |- Callback function passed to CreateAdvancedTextBox for creating the description for the stairs in the info menu. From a628a802952e3016e2a21cd7a335282b6a26bd7a Mon Sep 17 00:00:00 2001 From: AnonymousRandomPerson Date: Mon, 7 Sep 2026 00:18:27 -0400 Subject: [PATCH 2/3] Add quicksave symbols Symbols labeled by @SethBarberee from the decomp --- headers/functions/overlay30.h | 5 +++ headers/types/dungeon_mode/dungeon_mode.h | 7 +++ symbols/overlay30.yml | 53 +++++++++++++++++++++++ 3 files changed, 65 insertions(+) diff --git a/headers/functions/overlay30.h b/headers/functions/overlay30.h index 33b1bd75..52643360 100644 --- a/headers/functions/overlay30.h +++ b/headers/functions/overlay30.h @@ -2,5 +2,10 @@ #define HEADERS_FUNCTIONS_OVERLAY30_H_ void WriteQuicksaveData(void* buffer, int buffer_size); +void InitDataSerializerWriter(struct data_serializer* serializer, uint8_t* stream, int num_bytes); +void WriteBitsToDataSerializer(struct data_serializer* serializer, void* src, int num_bits); +void InitDataSerializerReader(struct data_serializer* serializer, uint8_t* stream, int num_bits); +void ReadBitsFromDataSerializer(struct data_serializer* serializer, void* buffer, int num_bytes); +void FinishDataSerializer(struct data_serializer* serializer); #endif diff --git a/headers/types/dungeon_mode/dungeon_mode.h b/headers/types/dungeon_mode/dungeon_mode.h index 4a7b9584..7b572db1 100644 --- a/headers/types/dungeon_mode/dungeon_mode.h +++ b/headers/types/dungeon_mode/dungeon_mode.h @@ -2617,6 +2617,13 @@ struct dungeon_controls_menu { }; ASSERT_SIZE(struct dungeon_controls_menu, 84); +struct data_serializer { + uint8_t* stream; + uint8_t* end; + uint32_t count; +}; +ASSERT_SIZE(struct data_serializer, 12); + // Separate this out into its own file because it's massive #include "dungeon.h" diff --git a/symbols/overlay30.yml b/symbols/overlay30.yml index b9d212a8..dc98b4ac 100644 --- a/symbols/overlay30.yml +++ b/symbols/overlay30.yml @@ -25,6 +25,59 @@ overlay30: r0: Pointer to buffer where data should be written r1: Buffer size. Seems to be 0x5800 (22 KB) when the function is called. + - name: InitDataSerializerWriter + address: + EU: 0x2386840 + NA: 0x2385C3C + JP: 0x2386E9C + description: |- + Initializes the quicksave data serializer when writing to it. + + r0: data_serializer struct + r1: data stream for the data serializer to write data to. + r2: number of bytes that the data stream can hold. + - name: WriteBitsToDataSerializer + address: + EU: 0x2386858 + NA: 0x2385C54 + JP: 0x2386EB4 + description: |- + Writes bits to the quicksave data serializer from a source pointer. + + r0: data_serializer struct + r1: pointer to the data to write to the data serializer. + r2: number of bits to write to the data serializer. + - name: InitDataSerializerReader + address: + EU: 0x2386890 + NA: 0x2385C8C + JP: 0x2386EEC + description: |- + Initializes the quicksave data serializer when reading from it. + + r0: data_serializer struct + r1: data stream for the data serializer to read data from. + r2: number of bytes that the data stream holds. + - name: ReadBitsFromDataSerializer + address: + EU: 0x23868A8 + NA: 0x2385CA4 + JP: 0x2386F04 + description: |- + Reads bits to a pointer from the quicksave data serializer. + + r0: data_serializer struct + r1: pointer to a buffer to hold data read from the data serializer. + r2: number of bits to read from the data serializer. + - name: FinishDataSerializer + address: + EU: 0x23868E0 + NA: 0x2385CDC + JP: 0x2386F3C + description: |- + Empty function called at the end of writing/reading quicksave data. + + r0: data_serializer struct data: - name: OVERLAY30_JP_STRING_1 address: From 447e8783cb58c8377936c07a848abd96a7377c83 Mon Sep 17 00:00:00 2001 From: AnonymousRandomPerson Date: Mon, 7 Sep 2026 00:54:55 -0400 Subject: [PATCH 3/3] Fixed param names --- headers/functions/overlay30.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/headers/functions/overlay30.h b/headers/functions/overlay30.h index 52643360..d5520e30 100644 --- a/headers/functions/overlay30.h +++ b/headers/functions/overlay30.h @@ -4,8 +4,8 @@ void WriteQuicksaveData(void* buffer, int buffer_size); void InitDataSerializerWriter(struct data_serializer* serializer, uint8_t* stream, int num_bytes); void WriteBitsToDataSerializer(struct data_serializer* serializer, void* src, int num_bits); -void InitDataSerializerReader(struct data_serializer* serializer, uint8_t* stream, int num_bits); -void ReadBitsFromDataSerializer(struct data_serializer* serializer, void* buffer, int num_bytes); +void InitDataSerializerReader(struct data_serializer* serializer, uint8_t* stream, int num_bytes); +void ReadBitsFromDataSerializer(struct data_serializer* serializer, void* buffer, int num_bits); void FinishDataSerializer(struct data_serializer* serializer); #endif