From be41c2f3d55967ac7682217e502d381f12e843a0 Mon Sep 17 00:00:00 2001 From: cecilarmitais Date: Fri, 21 Aug 2026 00:32:47 -0700 Subject: [PATCH] Decomp 20 functions, emptying six asm fragments First cleanup batch. All twenty matched at score 0, and every file they came from is now gone: asm/main_0204F9F4.s 2 functions asm/main_02017C50.s 4 asm/overlay_29_02344B44.s 2 asm/overlay_11_0230CCE0.s 2 asm/overlay_11_022E9D6C.s 5 asm/main_0201BEB0.s 5 main.lsf drops from 1181 objects to 1175, the first net reduction on this branch. Each removal also retires the matching asm/include/*.inc. Most of these reuse types landed earlier and add nothing: the OAM group reuses unk_0201BCCC with unk_oam_sub and unk_oam_elem, and the overlay_11 fade group reuses unk_023890A0 and unk_0238916C. Only unk_0238A098 and unk_023531A4 are new. Note for later cleanup work: six of the twenty are the last function in their file, so emptying it leaves them with no following address and the object-level size check cannot cover them. On a cleanup batch the matching build carries more of the verification than usual. Authored by Claude (Opus 5) under human direction. Confirmed by a matching build: build/pmdsky.us/pmdsky.us.nds: OK. Co-Authored-By: Claude Opus 5 --- asm/include/main_02017C50.inc | 5 -- asm/include/main_0201BEB0.inc | 10 --- asm/include/main_0204F9F4.inc | 4 -- asm/include/overlay_11_022E9D6C.inc | 9 --- asm/include/overlay_11_0230CCE0.inc | 4 -- asm/include/overlay_29_02344B44.inc | 5 -- asm/main_02017C50.s | 36 ---------- asm/main_0201BEB0.s | 108 ---------------------------- asm/main_0204F9F4.s | 26 ------- asm/overlay_11_022E9D6C.s | 95 ------------------------ asm/overlay_11_0230CCE0.s | 42 ----------- asm/overlay_29_02344B44.s | 36 ---------- include/main_02017B58.h | 4 ++ include/main_0201BCCC.h | 5 ++ include/main_0204F9B8.h | 2 + include/overlay_11_022E9A78.h | 5 ++ include/overlay_11_0230CB88.h | 6 ++ include/overlay_29_02344AF8.h | 6 ++ main.lsf | 6 -- src/main_02017B58.c | 28 ++++++++ src/main_0201BCCC.c | 51 +++++++++++++ src/main_0204F9B8.c | 14 ++++ src/overlay_11_022E9A78.c | 36 ++++++++++ src/overlay_11_0230CB88.c | 19 +++++ src/overlay_29_02344AF8.c | 20 ++++++ 25 files changed, 196 insertions(+), 386 deletions(-) delete mode 100644 asm/include/main_02017C50.inc delete mode 100644 asm/include/main_0201BEB0.inc delete mode 100644 asm/include/main_0204F9F4.inc delete mode 100644 asm/include/overlay_11_022E9D6C.inc delete mode 100644 asm/include/overlay_11_0230CCE0.inc delete mode 100644 asm/include/overlay_29_02344B44.inc delete mode 100644 asm/main_02017C50.s delete mode 100644 asm/main_0201BEB0.s delete mode 100644 asm/main_0204F9F4.s delete mode 100644 asm/overlay_11_022E9D6C.s delete mode 100644 asm/overlay_11_0230CCE0.s delete mode 100644 asm/overlay_29_02344B44.s diff --git a/asm/include/main_02017C50.inc b/asm/include/main_02017C50.inc deleted file mode 100644 index 4b07eb5b..00000000 --- a/asm/include/main_02017C50.inc +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once -.public PlayMeById -.public PlaySeByIdVolume -.public sub_02018278 -.public sub_020182AC diff --git a/asm/include/main_0201BEB0.inc b/asm/include/main_0201BEB0.inc deleted file mode 100644 index 74c79da3..00000000 --- a/asm/include/main_0201BEB0.inc +++ /dev/null @@ -1,10 +0,0 @@ -#pragma once -.public CopyAttributesToOamBothScreens -.public OBJ_GRAPHICS_CONTROLS_PTR -.public sub_0200302C -.public sub_020030FC -.public sub_0201B004 -.public sub_0201B2A0 -.public sub_0201B2DC -.public sub_0201BB20 -.public sub_0201BDEC diff --git a/asm/include/main_0204F9F4.inc b/asm/include/main_0204F9F4.inc deleted file mode 100644 index 81903354..00000000 --- a/asm/include/main_0204F9F4.inc +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once -.public PLAY_TIME_SECONDS -.public sub_02050E5C -.public sub_02050E8C diff --git a/asm/include/overlay_11_022E9D6C.inc b/asm/include/overlay_11_022E9D6C.inc deleted file mode 100644 index 4323d0fa..00000000 --- a/asm/include/overlay_11_022E9D6C.inc +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once -.public ov11_02388FD4 -.public ov11_023890A0 -.public ov11_023890E4 -.public ov11_0238916C -.public sub_0200BB60 -.public sub_0200BB74 -.public sub_0200BC60 -.public sub_0200BCB0 diff --git a/asm/include/overlay_11_0230CCE0.inc b/asm/include/overlay_11_0230CCE0.inc deleted file mode 100644 index d4ff2d76..00000000 --- a/asm/include/overlay_11_0230CCE0.inc +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once -.public RECYCLE_SHOP_OVERLAY_STATUS -.public ov11_0238A094 -.public ov11_0238A098 diff --git a/asm/include/overlay_29_02344B44.inc b/asm/include/overlay_29_02344B44.inc deleted file mode 100644 index 5837974b..00000000 --- a/asm/include/overlay_29_02344B44.inc +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once -.public SetPreprocessorArgsIdVal -.public SubstitutePlaceholderItemTags -.public ov29_023531A4 -.public ov29_023531BC diff --git a/asm/main_02017C50.s b/asm/main_02017C50.s deleted file mode 100644 index ed21c25c..00000000 --- a/asm/main_02017C50.s +++ /dev/null @@ -1,36 +0,0 @@ - .include "asm/macros.inc" - .include "main_02017C50.inc" - - .text - - arm_func_start sub_02017C50 -sub_02017C50: ; 0x02017C50 - ldr ip, _02017C58 ; =PlayMeById - bx ip - .align 2, 0 -_02017C58: .word PlayMeById - arm_func_end sub_02017C50 - - arm_func_start sub_02017C5C -sub_02017C5C: ; 0x02017C5C - ldr ip, _02017C64 ; =sub_02018278 - bx ip - .align 2, 0 -_02017C64: .word sub_02018278 - arm_func_end sub_02017C5C - - arm_func_start sub_02017C68 -sub_02017C68: ; 0x02017C68 - ldr ip, _02017C70 ; =sub_020182AC - bx ip - .align 2, 0 -_02017C70: .word sub_020182AC - arm_func_end sub_02017C68 - - arm_func_start sub_02017C74 -sub_02017C74: ; 0x02017C74 - ldr ip, _02017C7C ; =PlaySeByIdVolume - bx ip - .align 2, 0 -_02017C7C: .word PlaySeByIdVolume - arm_func_end sub_02017C74 diff --git a/asm/main_0201BEB0.s b/asm/main_0201BEB0.s deleted file mode 100644 index cf57357b..00000000 --- a/asm/main_0201BEB0.s +++ /dev/null @@ -1,108 +0,0 @@ - .include "asm/macros.inc" - .include "main_0201BEB0.inc" - - .text - - arm_func_start sub_0201BEB0 -sub_0201BEB0: ; 0x0201BEB0 - stmdb sp!, {r3, lr} - mov r0, #8 - bl sub_0200302C - ldr r0, _0201BF0C ; =OBJ_GRAPHICS_CONTROLS_PTR - ldr r0, [r0] - add r0, r0, #0x1c8 - add r0, r0, #0x1c00 - bl sub_0201B004 - ldr r0, _0201BF0C ; =OBJ_GRAPHICS_CONTROLS_PTR - ldr r0, [r0] - add r0, r0, #0x264 - add r0, r0, #0x1c00 - bl sub_0201B004 - ldr r0, _0201BF0C ; =OBJ_GRAPHICS_CONTROLS_PTR - ldr r0, [r0] - bl sub_0201BB20 - ldr r0, _0201BF0C ; =OBJ_GRAPHICS_CONTROLS_PTR - ldr r0, [r0] - add r0, r0, #0x70 - bl sub_0201BB20 - mov r0, #8 - bl sub_020030FC - ldmia sp!, {r3, pc} - .align 2, 0 -_0201BF0C: .word OBJ_GRAPHICS_CONTROLS_PTR - arm_func_end sub_0201BEB0 - - arm_func_start sub_0201BF10 -sub_0201BF10: ; 0x0201BF10 - stmdb sp!, {r3, lr} - mov r0, #8 - bl sub_0200302C - ldr r0, _0201BF48 ; =OBJ_GRAPHICS_CONTROLS_PTR - ldr r0, [r0] - add r0, r0, #0xe0 - bl sub_0201BB20 - ldr r0, _0201BF48 ; =OBJ_GRAPHICS_CONTROLS_PTR - ldr r0, [r0] - add r0, r0, #0x150 - bl sub_0201BB20 - mov r0, #8 - bl sub_020030FC - ldmia sp!, {r3, pc} - .align 2, 0 -_0201BF48: .word OBJ_GRAPHICS_CONTROLS_PTR - arm_func_end sub_0201BF10 - - arm_func_start sub_0201BF4C -sub_0201BF4C: ; 0x0201BF4C - stmdb sp!, {r3, lr} - bl sub_0201BEB0 - bl sub_0201BF10 - bl CopyAttributesToOamBothScreens - bl sub_0201BDEC - ldmia sp!, {r3, pc} - arm_func_end sub_0201BF4C - - arm_func_start sub_0201BF64 -sub_0201BF64: ; 0x0201BF64 - stmdb sp!, {r3, lr} - ldr r0, _0201BFA8 ; =OBJ_GRAPHICS_CONTROLS_PTR - ldr r0, [r0] - bl sub_0201B2A0 - ldr r0, _0201BFA8 ; =OBJ_GRAPHICS_CONTROLS_PTR - ldr r0, [r0] - add r0, r0, #0x70 - bl sub_0201B2A0 - ldr r0, _0201BFA8 ; =OBJ_GRAPHICS_CONTROLS_PTR - ldr r0, [r0] - add r0, r0, #0xe0 - bl sub_0201B2A0 - ldr r0, _0201BFA8 ; =OBJ_GRAPHICS_CONTROLS_PTR - ldr r0, [r0] - add r0, r0, #0x150 - bl sub_0201B2A0 - ldmia sp!, {r3, pc} - .align 2, 0 -_0201BFA8: .word OBJ_GRAPHICS_CONTROLS_PTR - arm_func_end sub_0201BF64 - - arm_func_start sub_0201BFAC -sub_0201BFAC: ; 0x0201BFAC - stmdb sp!, {r3, r4, lr} - sub sp, sp, #4 - ldr ip, _0201BFEC ; =OBJ_GRAPHICS_CONTROLS_PTR - str r3, [sp] - ldr lr, [ip] - ldr ip, [sp, #0x10] - mov r3, #0x70 - mov r4, r0 - mla r0, ip, r3, lr - mov ip, r1 - mov r3, r2 - mov r1, r4 - mov r2, ip - bl sub_0201B2DC - add sp, sp, #4 - ldmia sp!, {r3, r4, pc} - .align 2, 0 -_0201BFEC: .word OBJ_GRAPHICS_CONTROLS_PTR - arm_func_end sub_0201BFAC diff --git a/asm/main_0204F9F4.s b/asm/main_0204F9F4.s deleted file mode 100644 index 441369e2..00000000 --- a/asm/main_0204F9F4.s +++ /dev/null @@ -1,26 +0,0 @@ - .include "asm/macros.inc" - .include "main_0204F9F4.inc" - - .text - - arm_func_start sub_0204F9F4 -sub_0204F9F4: ; 0x0204F9F4 - ldr ip, _0204FA04 ; =sub_02050E5C - mov r1, r0 - ldr r0, _0204FA08 ; =PLAY_TIME_SECONDS - bx ip - .align 2, 0 -_0204FA04: .word sub_02050E5C -_0204FA08: .word PLAY_TIME_SECONDS - arm_func_end sub_0204F9F4 - - arm_func_start sub_0204FA0C -sub_0204FA0C: ; 0x0204FA0C - ldr ip, _0204FA1C ; =sub_02050E8C - mov r1, r0 - ldr r0, _0204FA20 ; =PLAY_TIME_SECONDS - bx ip - .align 2, 0 -_0204FA1C: .word sub_02050E8C -_0204FA20: .word PLAY_TIME_SECONDS - arm_func_end sub_0204FA0C diff --git a/asm/overlay_11_022E9D6C.s b/asm/overlay_11_022E9D6C.s deleted file mode 100644 index cca5aa56..00000000 --- a/asm/overlay_11_022E9D6C.s +++ /dev/null @@ -1,95 +0,0 @@ - .include "asm/macros.inc" - .include "overlay_11_022E9D6C.inc" - - .text - - arm_func_start ov11_022E9D6C -ov11_022E9D6C: ; 0x022E9D6C - stmdb sp!, {r3, lr} - mov lr, r0 - mov ip, r1 - mov r3, r2 - ldr r0, _022E9D90 ; =ov11_023890E4 - mov r1, lr - mov r2, ip - bl sub_0200BCB0 - ldmia sp!, {r3, pc} - .align 2, 0 -_022E9D90: .word ov11_023890E4 - arm_func_end ov11_022E9D6C - - arm_func_start ov11_022E9D94 -ov11_022E9D94: ; 0x022E9D94 - stmdb sp!, {r3, lr} - mov lr, r0 - mov ip, r1 - mov r3, r2 - ldr r0, _022E9DB8 ; =ov11_023890A0 - mov r1, lr - mov r2, ip - bl sub_0200BC60 - ldmia sp!, {r3, pc} - .align 2, 0 -_022E9DB8: .word ov11_023890A0 - arm_func_end ov11_022E9D94 - - arm_func_start ov11_022E9DBC -ov11_022E9DBC: ; 0x022E9DBC - stmdb sp!, {r3, lr} - mov lr, r0 - mov ip, r1 - mov r3, r2 - ldr r0, _022E9DE0 ; =ov11_023890A0 - mov r1, lr - mov r2, ip - bl sub_0200BCB0 - ldmia sp!, {r3, pc} - .align 2, 0 -_022E9DE0: .word ov11_023890A0 - arm_func_end ov11_022E9DBC - - arm_func_start ov11_022E9DE4 -ov11_022E9DE4: ; 0x022E9DE4 - stmdb sp!, {r4, r5, r6, lr} - mov r3, #0x44 - mul r4, r0, r3 - mov r6, r2 - ldr r2, _022E9E24 ; =ov11_02388FD4 - mov r0, r0, lsl #1 - ldr r5, _022E9E28 ; =ov11_0238916C - strh r1, [r2, r0] - add r0, r5, r4 - mov r1, #1 - mov r2, #0 - bl sub_0200BB74 - mov r1, r6 - add r0, r5, r4 - bl sub_0200BB60 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 -_022E9E24: .word ov11_02388FD4 -_022E9E28: .word ov11_0238916C - arm_func_end ov11_022E9DE4 - - arm_func_start ov11_022E9E2C -ov11_022E9E2C: ; 0x022E9E2C - stmdb sp!, {r4, r5, r6, lr} - mov r3, #0x44 - mul r4, r0, r3 - ldr r3, _022E9E6C ; =ov11_02388FD4 - mov r0, r0, lsl #1 - ldr r5, _022E9E70 ; =ov11_0238916C - strh r1, [r3, r0] - mov r6, r2 - add r0, r5, r4 - mov r1, #0 - bl sub_0200BB60 - mov r2, r6 - add r0, r5, r4 - mov r1, #1 - bl sub_0200BB74 - ldmia sp!, {r4, r5, r6, pc} - .align 2, 0 -_022E9E6C: .word ov11_02388FD4 -_022E9E70: .word ov11_0238916C - arm_func_end ov11_022E9E2C diff --git a/asm/overlay_11_0230CCE0.s b/asm/overlay_11_0230CCE0.s deleted file mode 100644 index 0af23325..00000000 --- a/asm/overlay_11_0230CCE0.s +++ /dev/null @@ -1,42 +0,0 @@ - .include "asm/macros.inc" - .include "overlay_11_0230CCE0.inc" - - .text - - arm_func_start IsRecycleShopOverlaySuspended -IsRecycleShopOverlaySuspended: ; 0x0230CCE0 - ldr r0, _0230CCEC ; =RECYCLE_SHOP_OVERLAY_STATUS - ldrb r0, [r0] - bx lr - .align 2, 0 -_0230CCEC: .word RECYCLE_SHOP_OVERLAY_STATUS - arm_func_end IsRecycleShopOverlaySuspended - - arm_func_start ov11_0230CCF0 -ov11_0230CCF0: ; 0x0230CCF0 - stmdb sp!, {r4, lr} - ldr r1, _0230CD3C ; =RECYCLE_SHOP_OVERLAY_STATUS - mov r4, r0 - ldrb r0, [r1] - cmp r0, #0 - beq _0230CD34 - ldr lr, _0230CD40 ; =ov11_0238A098 - mov ip, #9 -_0230CD10: - ldmia lr!, {r0, r1, r2, r3} - stmia r4!, {r0, r1, r2, r3} - subs ip, ip, #1 - bne _0230CD10 - ldr r2, _0230CD44 ; =ov11_0238A094 - ldmia lr, {r0, r1} - stmia r4, {r0, r1} - ldr r0, [r2] - ldmia sp!, {r4, pc} -_0230CD34: - mov r0, #0 - ldmia sp!, {r4, pc} - .align 2, 0 -_0230CD3C: .word RECYCLE_SHOP_OVERLAY_STATUS -_0230CD40: .word ov11_0238A098 -_0230CD44: .word ov11_0238A094 - arm_func_end ov11_0230CCF0 diff --git a/asm/overlay_29_02344B44.s b/asm/overlay_29_02344B44.s deleted file mode 100644 index e4a0a269..00000000 --- a/asm/overlay_29_02344B44.s +++ /dev/null @@ -1,36 +0,0 @@ - .include "asm/macros.inc" - .include "overlay_29_02344B44.inc" - - .text - - arm_func_start PrepareItemForPrinting__02345728 -PrepareItemForPrinting__02345728: ; 0x02344B44 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r4, r1 - orr r1, r5, #0x40000 - bl SetPreprocessorArgsIdVal - ldr r2, _02344B6C ; =ov29_023531BC - mov r0, r5 - mov r1, r4 - bl SubstitutePlaceholderItemTags - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 -_02344B6C: .word ov29_023531BC - arm_func_end PrepareItemForPrinting__02345728 - - arm_func_start PrepareItemForPrinting__02345754 -PrepareItemForPrinting__02345754: ; 0x02344B70 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - mov r4, r1 - orr r1, r5, #0x40000 - bl SetPreprocessorArgsIdVal - ldr r2, _02344B98 ; =ov29_023531A4 - mov r0, r5 - mov r1, r4 - bl SubstitutePlaceholderItemTags - ldmia sp!, {r3, r4, r5, pc} - .align 2, 0 -_02344B98: .word ov29_023531A4 - arm_func_end PrepareItemForPrinting__02345754 diff --git a/include/main_02017B58.h b/include/main_02017B58.h index d30ca9a6..5f567a5c 100644 --- a/include/main_02017B58.h +++ b/include/main_02017B58.h @@ -15,5 +15,9 @@ void sub_02017BEC(void); void sub_02017BF8(void); void sub_02017C04(void); bool8 IsMePlaying(s32 id); +void sub_02017C50(s32 a); +void sub_02017C5C(s32 a); +void sub_02017C68(s32 a); +void sub_02017C74(s32 se_id, s32 volume); #endif diff --git a/include/main_0201BCCC.h b/include/main_0201BCCC.h index d100ec45..0a2d3c2a 100644 --- a/include/main_0201BCCC.h +++ b/include/main_0201BCCC.h @@ -27,5 +27,10 @@ void sub_0201BDEC(void); void sub_0201BE28(void); void GroupOamAttributesBothScreens(void); void sub_0201BE84(void); +void sub_0201BEB0(void); +void sub_0201BF10(void); +void sub_0201BF4C(void); +void sub_0201BF64(void); +void sub_0201BFAC(s32 a, s32 b, s32 c, s32 d, s32 idx); #endif diff --git a/include/main_0204F9B8.h b/include/main_0204F9B8.h index c24fd45f..0a153ebb 100644 --- a/include/main_0204F9B8.h +++ b/include/main_0204F9B8.h @@ -4,5 +4,7 @@ void sub_0204F9B8(void); void sub_0204F9CC(void); s32 sub_0204F9E0(void); +void sub_0204F9F4(s32 a); +void sub_0204FA0C(s32 a); #endif diff --git a/include/overlay_11_022E9A78.h b/include/overlay_11_022E9A78.h index 16855fbc..35e7a695 100644 --- a/include/overlay_11_022E9A78.h +++ b/include/overlay_11_022E9A78.h @@ -39,5 +39,10 @@ void ov11_022E9CCC(s32 a); void ov11_022E9CE8(s32 a, s32 b, s32 c); void ov11_022E9D10(s32 a); void ov11_022E9D44(s32 a, s32 b, s32 c); +void ov11_022E9D6C(s32 a, s32 b, s32 c); +void ov11_022E9D94(s32 a, s32 b, s32 c); +void ov11_022E9DBC(s32 a, s32 b, s32 c); +void ov11_022E9DE4(s32 idx, u16 a, s32 b); +void ov11_022E9E2C(s32 idx, u16 a, s32 b); #endif diff --git a/include/overlay_11_0230CB88.h b/include/overlay_11_0230CB88.h index 6dcf9cd9..8c7f974d 100644 --- a/include/overlay_11_0230CB88.h +++ b/include/overlay_11_0230CB88.h @@ -1,6 +1,10 @@ #ifndef PMDSKY_OVERLAY_11_0230CB88_H #define PMDSKY_OVERLAY_11_0230CB88_H +struct unk_0238A098 { + u32 field_0x0[38]; +}; + #include "util.h" #include "main_020348E4.h" @@ -14,5 +18,7 @@ void LoadSpindaCafeOverlayResume(void); bool8 IsSpindaCafeOverlaySuspended(void); void LoadRecycleShopOverlayInit(void); void LoadRecycleShopOverlayResume(void); +bool8 IsRecycleShopOverlaySuspended(void); +s32 ov11_0230CCF0(struct unk_0238A098 *dst); #endif diff --git a/include/overlay_29_02344AF8.h b/include/overlay_29_02344AF8.h index 2d55bdd3..326143d6 100644 --- a/include/overlay_29_02344AF8.h +++ b/include/overlay_29_02344AF8.h @@ -1,6 +1,10 @@ #ifndef PMDSKY_OVERLAY_29_02344AF8_H #define PMDSKY_OVERLAY_29_02344AF8_H +struct unk_023531A4 { + u8 field_0x0[4]; +}; + #include "util.h" #include "dungeon_mode.h" @@ -9,5 +13,7 @@ bool8 EntityIsValid__02344AF8(struct entity *entity); void ov29_02344B1C(void); void ov29_02344B30(void); +void PrepareItemForPrinting__02345728(s32 a, s32 b); +void PrepareItemForPrinting__02345754(s32 a, s32 b); #endif //PMDSKY_OVERLAY_29_02344AF8_H diff --git a/main.lsf b/main.lsf index cbea7b39..016a9d36 100644 --- a/main.lsf +++ b/main.lsf @@ -123,13 +123,11 @@ Static main Object src/main_0201514C.o Object asm/main_020151E4.o Object src/main_02017B58.o - Object asm/main_02017C50.o Object src/main_02017C80.o Object asm/main_02017D20.o Object src/main_0201BA9C.o Object asm/main_0201BAC8.o Object src/main_0201BCCC.o - Object asm/main_0201BEB0.o Object src/main_0201BFF0.o Object asm/main_0201C000.o Object src/main_0201D198.o @@ -265,7 +263,6 @@ Static main Object src/main_0204F050.o Object asm/main_0204F0A0.o Object src/main_0204F9B8.o - Object asm/main_0204F9F4.o Object src/main_0204FA24.o Object asm/main_0204FA70.o Object src/main_0204FB9C.o @@ -665,7 +662,6 @@ Overlay OVY_11 Object src/overlay_11_022E96E4.o Object asm/overlay_11_022E96F4.o Object src/overlay_11_022E9A78.o - Object asm/overlay_11_022E9D6C.o Object src/overlay_11_022E9E74.o Object asm/overlay_11_022EA024.o Object src/ground_bg.o @@ -682,7 +678,6 @@ Overlay OVY_11 Object src/overlay_11_022FE58C.o Object asm/overlay_11_022FE5F8.o Object src/overlay_11_0230CB88.o - Object asm/overlay_11_0230CCE0.o Object src/overlay_11_0230CD48.o Object asm/overlay_11_0230CE30.o } @@ -1264,7 +1259,6 @@ Overlay OVY_29 Object src/fixed_room_data.o Object asm/overlay_29_02344178.o Object src/overlay_29_02344AF8.o - Object asm/overlay_29_02344B44.o Object src/overlay_29_02344B9C.o Object asm/overlay_29_02344BA8.o Object src/overlay_29_02344BE4.o diff --git a/src/main_02017B58.c b/src/main_02017B58.c index ce0db531..87aaf78e 100644 --- a/src/main_02017B58.c +++ b/src/main_02017B58.c @@ -1,5 +1,13 @@ #include "main_02017B58.h" +extern void PlayMeById(s32 a); + +extern void PlaySeByIdVolume(s32 se_id, s32 volume); + +extern void sub_020182AC(s32 a); + +extern void sub_02018278(s32 a); + extern void StopBgmCommand(void); extern s32 sub_020181E0(void); @@ -94,3 +102,23 @@ bool8 IsMePlaying(s32 id) return cur == id; } + +void sub_02017C50(s32 a) +{ + PlayMeById(a); +} + +void sub_02017C5C(s32 a) +{ + sub_02018278(a); +} + +void sub_02017C68(s32 a) +{ + sub_020182AC(a); +} + +void sub_02017C74(s32 se_id, s32 volume) +{ + PlaySeByIdVolume(se_id, volume); +} diff --git a/src/main_0201BCCC.c b/src/main_0201BCCC.c index f53516f6..efaf286a 100644 --- a/src/main_0201BCCC.c +++ b/src/main_0201BCCC.c @@ -1,5 +1,17 @@ #include "main_0201BCCC.h" +extern void sub_0201B2DC(struct unk_oam_sub *p, s32 a, s32 b, s32 c, s32 d); + +extern void sub_0201B2A0(struct unk_oam_sub *p); + +extern void CopyAttributesToOamBothScreens(void); + +extern void sub_0201BDEC(void); + +extern void sub_0201B004(struct unk_oam_elem *e); + +extern void sub_0201BB20(struct unk_oam_sub *p); + extern void GroupOamAttributesWrapper(struct unk_oam_sub *p); extern void sub_0201AFB8(struct unk_oam_elem *e); @@ -81,3 +93,42 @@ void sub_0201BE84(void) GroupOamAttributesWrapper(&OBJ_GRAPHICS_CONTROLS_PTR->field_0x0[2]); GroupOamAttributesWrapper(&OBJ_GRAPHICS_CONTROLS_PTR->field_0x0[3]); } + +void sub_0201BEB0(void) +{ + sub_0200302C(8); + sub_0201B004(&OBJ_GRAPHICS_CONTROLS_PTR->field_0x1DC8[0]); + sub_0201B004(&OBJ_GRAPHICS_CONTROLS_PTR->field_0x1DC8[1]); + sub_0201BB20(&OBJ_GRAPHICS_CONTROLS_PTR->field_0x0[0]); + sub_0201BB20(&OBJ_GRAPHICS_CONTROLS_PTR->field_0x0[1]); + sub_020030FC(8); +} + +void sub_0201BF10(void) +{ + sub_0200302C(8); + sub_0201BB20(&OBJ_GRAPHICS_CONTROLS_PTR->field_0x0[2]); + sub_0201BB20(&OBJ_GRAPHICS_CONTROLS_PTR->field_0x0[3]); + sub_020030FC(8); +} + +void sub_0201BF4C(void) +{ + sub_0201BEB0(); + sub_0201BF10(); + CopyAttributesToOamBothScreens(); + sub_0201BDEC(); +} + +void sub_0201BF64(void) +{ + sub_0201B2A0(&OBJ_GRAPHICS_CONTROLS_PTR->field_0x0[0]); + sub_0201B2A0(&OBJ_GRAPHICS_CONTROLS_PTR->field_0x0[1]); + sub_0201B2A0(&OBJ_GRAPHICS_CONTROLS_PTR->field_0x0[2]); + sub_0201B2A0(&OBJ_GRAPHICS_CONTROLS_PTR->field_0x0[3]); +} + +void sub_0201BFAC(s32 a, s32 b, s32 c, s32 d, s32 idx) +{ + sub_0201B2DC(&OBJ_GRAPHICS_CONTROLS_PTR->field_0x0[idx], a, b, c, d); +} diff --git a/src/main_0204F9B8.c b/src/main_0204F9B8.c index 8a840300..5db295a4 100644 --- a/src/main_0204F9B8.c +++ b/src/main_0204F9B8.c @@ -1,4 +1,8 @@ #include "main_0204F9B8.h" + +extern void sub_02050E8C(u8 *p, s32 a); + +extern void sub_02050E5C(u8 *p, s32 a); #include "script_variable.h" extern u8 PLAY_TIME_SECONDS[]; @@ -25,3 +29,13 @@ s32 sub_0204F9E0(void) { return GetPlayTimeSeconds(PLAY_TIME_SECONDS); } + +void sub_0204F9F4(s32 a) +{ + sub_02050E5C(PLAY_TIME_SECONDS, a); +} + +void sub_0204FA0C(s32 a) +{ + sub_02050E8C(PLAY_TIME_SECONDS, a); +} diff --git a/src/overlay_11_022E9A78.c b/src/overlay_11_022E9A78.c index 7fc61cda..6632d2b7 100644 --- a/src/overlay_11_022E9A78.c +++ b/src/overlay_11_022E9A78.c @@ -1,4 +1,11 @@ #include "overlay_11_022E9A78.h" +#include "overlay_11_022E9E74.h" + +extern struct unk_0238916C ov11_0238916C[]; + +extern u16 ov11_02388FD4[]; + +extern void sub_0200BCB0(struct unk_023890A0 *p, s32 a, s32 b, s32 c); extern void sub_0200BC60(struct unk_023890A0 *p, s32 a, s32 b, s32 c); @@ -156,3 +163,32 @@ void ov11_022E9D44(s32 a, s32 b, s32 c) { sub_0200BC60(&ov11_023890E4, a, b, c); } + +void ov11_022E9D6C(s32 a, s32 b, s32 c) +{ + sub_0200BCB0(&ov11_023890E4, a, b, c); +} + +void ov11_022E9D94(s32 a, s32 b, s32 c) +{ + sub_0200BC60(&ov11_023890A0, a, b, c); +} + +void ov11_022E9DBC(s32 a, s32 b, s32 c) +{ + sub_0200BCB0(&ov11_023890A0, a, b, c); +} + +void ov11_022E9DE4(s32 idx, u16 a, s32 b) +{ + ov11_02388FD4[idx] = a; + sub_0200BB74((struct unk_023890A0 *) &ov11_0238916C[idx], 1, 0); + sub_0200BB60((struct unk_023890A0 *) &ov11_0238916C[idx], b); +} + +void ov11_022E9E2C(s32 idx, u16 a, s32 b) +{ + ov11_02388FD4[idx] = a; + sub_0200BB60((struct unk_023890A0 *) &ov11_0238916C[idx], 0); + sub_0200BB74((struct unk_023890A0 *) &ov11_0238916C[idx], 1, b); +} diff --git a/src/overlay_11_0230CB88.c b/src/overlay_11_0230CB88.c index 4ecf44ef..a914cc6d 100644 --- a/src/overlay_11_0230CB88.c +++ b/src/overlay_11_0230CB88.c @@ -1,5 +1,9 @@ #include "overlay_11_0230CB88.h" +extern struct unk_0238A098 ov11_0238A098; + +extern s32 ov11_0238A094; + extern struct struct_1 ov11_023230DC; extern u32 sub_02034840(struct struct_1 *p); @@ -97,3 +101,18 @@ void LoadRecycleShopOverlayResume(void) RECYCLE_SHOP_OVERLAY_STATUS = FALSE; } + +bool8 IsRecycleShopOverlaySuspended(void) +{ + return RECYCLE_SHOP_OVERLAY_STATUS; +} + +s32 ov11_0230CCF0(struct unk_0238A098 *dst) +{ + if (RECYCLE_SHOP_OVERLAY_STATUS != 0) { + *dst = ov11_0238A098; + return ov11_0238A094; + } + + return 0; +} diff --git a/src/overlay_29_02344AF8.c b/src/overlay_29_02344AF8.c index 48fd71f8..7748ba18 100644 --- a/src/overlay_29_02344AF8.c +++ b/src/overlay_29_02344AF8.c @@ -1,4 +1,12 @@ #include "overlay_29_02344AF8.h" + +extern struct unk_023531A4 ov29_023531A4; + +extern struct unk_023531A4 ov29_023531BC; + +extern void SetPreprocessorArgsIdVal(s32 idx, u32 val); + +extern void SubstitutePlaceholderItemTags(s32 a, s32 b, struct unk_023531A4 *p); #include "main_02001188.h" #include "overlay_29_0234B024.h" @@ -23,3 +31,15 @@ void ov29_02344B30(void) { ov29_023537B0 = FALSE; } + +void PrepareItemForPrinting__02345728(s32 a, s32 b) +{ + SetPreprocessorArgsIdVal(a, a | 0x40000); + SubstitutePlaceholderItemTags(a, b, &ov29_023531BC); +} + +void PrepareItemForPrinting__02345754(s32 a, s32 b) +{ + SetPreprocessorArgsIdVal(a, a | 0x40000); + SubstitutePlaceholderItemTags(a, b, &ov29_023531A4); +}