Decomped ov31_0238335C

Decomped by anonymous user: https://decomp.me/scratch/yDpgj
This commit is contained in:
AnonymousRandomPerson 2025-07-16 20:36:31 -04:00
parent f48046a07a
commit 607c7ee937
5 changed files with 20 additions and 32 deletions

View File

@ -167,7 +167,6 @@
.public ov29_022E1618
.public ov29_022E1620
.public ov29_022E2A78
.public ov29_022E87DC
.public ov29_022EA370
.public ov29_022EA428
.public ov29_022EA62C
@ -217,6 +216,7 @@
.public ov31_02382DAC
.public ov31_023832F0
.public ov31_02383328
.public ov31_0238335C
.public ov31_02389F5C
.public ov31_0238A044
.public ov31_0238A04C

View File

@ -1,37 +1,8 @@
.include "asm/macros.inc"
.include "overlay_31_0238335C.inc"
.include "overlay_31_023833B4.inc"
.text
arm_func_start ov31_0238335C
ov31_0238335C: ; 0x0238335C
stmdb sp!, {r4, lr}
ldr r1, _023833B0 ; =OVERLAY31_UNKNOWN_POINTER__NA_238A268
mov r4, r0
ldrb r0, [r1]
cmp r0, #0
beq _02383390
bl ov29_022E87DC
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, _023833B0 ; =OVERLAY31_UNKNOWN_POINTER__NA_238A268
mov r1, #0
strb r1, [r0]
_02383390:
cmp r4, #0
beq _0238339C
blx r4
_0238339C:
ldr r0, _023833B0 ; =OVERLAY31_UNKNOWN_POINTER__NA_238A268
mov r1, #0
strb r1, [r0, #1]
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
_023833B0: .word OVERLAY31_UNKNOWN_POINTER__NA_238A268
arm_func_end ov31_0238335C
arm_func_start ov31_023833B4
ov31_023833B4: ; 0x023833B4
stmdb sp!, {r3, lr}

View File

@ -2,5 +2,6 @@
#define PMDSKY_OVERLAY_31_02383328_H
void ov31_02383328(void (*f)(void));
u32 ov31_0238335C(void (*f)(void));
#endif //PMDSKY_OVERLAY_31_02383328_H

View File

@ -573,7 +573,7 @@ Overlay OVY_31
Object src/overlay_31_02382820.o
Object asm/overlay_31_02382FBC.o
Object src/overlay_31_02383328.o
Object asm/overlay_31_0238335C.o
Object asm/overlay_31_023833B4.o
}
Overlay OVY_32
{

View File

@ -5,6 +5,7 @@ extern u8 ov31_0238A2A8;
extern u8 sub_0204AEA0(void (*f)(void));
extern void ov29_022E8708();
extern u32 ov29_022E87DC();
void ov31_02383328(void (*f)(void))
{
@ -13,3 +14,18 @@ void ov31_02383328(void (*f)(void))
OVERLAY31_UNKNOWN_POINTER__NA_238A268[0] = 1;
}
}
u32 ov31_0238335C(void (*f)(void))
{
if (OVERLAY31_UNKNOWN_POINTER__NA_238A268[0] != 0) {
if (ov29_022E87DC() == 0) {
return 0;
}
OVERLAY31_UNKNOWN_POINTER__NA_238A268[0] = 0;
}
if (f != NULL) {
(*f)();
}
OVERLAY31_UNKNOWN_POINTER__NA_238A268[1] = 0;
return 1;
}