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 <noreply@anthropic.com>
This commit is contained in:
cecilarmitais
2026-08-21 00:32:47 -07:00
parent f968c89066
commit be41c2f3d5
25 changed files with 196 additions and 386 deletions

View File

@@ -1,5 +0,0 @@
#pragma once
.public PlayMeById
.public PlaySeByIdVolume
.public sub_02018278
.public sub_020182AC

View File

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

View File

@@ -1,4 +0,0 @@
#pragma once
.public PLAY_TIME_SECONDS
.public sub_02050E5C
.public sub_02050E8C

View File

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

View File

@@ -1,4 +0,0 @@
#pragma once
.public RECYCLE_SHOP_OVERLAY_STATUS
.public ov11_0238A094
.public ov11_0238A098

View File

@@ -1,5 +0,0 @@
#pragma once
.public SetPreprocessorArgsIdVal
.public SubstitutePlaceholderItemTags
.public ov29_023531A4
.public ov29_023531BC

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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