mirror of
https://github.com/pret/pmd-sky.git
synced 2026-03-21 17:25:15 -05:00
Decompiled ov15_0238AF54
This commit is contained in:
parent
2392b4aa26
commit
7df071f129
|
|
@ -1,10 +0,0 @@
|
|||
#pragma once
|
||||
.public CloseDialogueBox
|
||||
.public ClosePortraitBox
|
||||
.public HidePortraitBox
|
||||
.public IsDialogueBoxActive
|
||||
.public OVERLAY15_UNKNOWN_POINTER__NA_238B180
|
||||
.public ov11_022E6E68
|
||||
.public ov15_0238A234
|
||||
.public sub_0202836C
|
||||
.public sub_0202F2C4
|
||||
1
asm/include/overlay_15_0238B054.inc
Normal file
1
asm/include/overlay_15_0238B054.inc
Normal file
|
|
@ -0,0 +1 @@
|
|||
#pragma once
|
||||
|
|
@ -1,83 +1,7 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "overlay_15_0238AF54.inc"
|
||||
.include "overlay_15_0238B054.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start ov15_0238AF54
|
||||
ov15_0238AF54: ; 0x0238AF54
|
||||
stmdb sp!, {r3, lr}
|
||||
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
|
||||
ldr r1, [r0]
|
||||
ldr r0, [r1]
|
||||
cmp r0, #5
|
||||
addls pc, pc, r0, lsl #2
|
||||
b _0238B048
|
||||
_0238AF70: ; jump table
|
||||
b _0238AF88 ; case 0
|
||||
b _0238AF94 ; case 1
|
||||
b _0238AFB0 ; case 2
|
||||
b _0238B03C ; case 3
|
||||
b _0238B048 ; case 4
|
||||
b _0238AFF4 ; case 5
|
||||
_0238AF88:
|
||||
mov r0, #1
|
||||
str r0, [r1]
|
||||
b _0238B048
|
||||
_0238AF94:
|
||||
bl ov15_0238A234
|
||||
cmp r0, #3
|
||||
ldreq r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
|
||||
moveq r1, #2
|
||||
ldreq r0, [r0]
|
||||
streq r1, [r0]
|
||||
b _0238B048
|
||||
_0238AFB0:
|
||||
ldrsb r0, [r1, #0x80]
|
||||
bl IsDialogueBoxActive
|
||||
cmp r0, #0
|
||||
bne _0238B048
|
||||
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
|
||||
ldr r0, [r0]
|
||||
ldrsb r0, [r0, #0x81]
|
||||
bl HidePortraitBox
|
||||
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
|
||||
ldr r0, [r0]
|
||||
ldrsb r0, [r0, #0x80]
|
||||
bl sub_0202F2C4
|
||||
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
|
||||
mov r1, #5
|
||||
ldr r0, [r0]
|
||||
str r1, [r0]
|
||||
b _0238B048
|
||||
_0238AFF4:
|
||||
ldrsb r0, [r1, #0x80]
|
||||
bl sub_0202836C
|
||||
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
|
||||
ldr r0, [r0]
|
||||
ldrsb r0, [r0, #0x81]
|
||||
bl ClosePortraitBox
|
||||
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
|
||||
ldr r0, [r0]
|
||||
ldrsb r0, [r0, #0x80]
|
||||
bl CloseDialogueBox
|
||||
ldr r0, _0238B050 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
|
||||
mov r3, #3
|
||||
ldr r2, [r0]
|
||||
sub r1, r3, #5
|
||||
str r3, [r2]
|
||||
ldr r0, [r0]
|
||||
strb r1, [r0, #0x80]
|
||||
b _0238B048
|
||||
_0238B03C:
|
||||
bl ov11_022E6E68
|
||||
mov r0, #4
|
||||
ldmia sp!, {r3, pc}
|
||||
_0238B048:
|
||||
mov r0, #1
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_0238B050: .word OVERLAY15_UNKNOWN_POINTER__NA_238B180
|
||||
arm_func_end ov15_0238AF54
|
||||
; 0x0238B054
|
||||
|
||||
.global BANK_MAIN_MENU_ITEMS
|
||||
|
|
@ -2,13 +2,16 @@
|
|||
#define PMDSKY_OVERLAY_15_0238AE6C_H
|
||||
|
||||
typedef struct {
|
||||
u8 fill0[0x54];
|
||||
s32 unk0;
|
||||
u8 fill20[0x20 - 0x5];
|
||||
s8 unk20;
|
||||
u8 fill54[0x54 - 0x21];
|
||||
u32 unk54;
|
||||
u8 fill58[0x68 - 0x58];
|
||||
u8 fill68[0x68 - 0x58];
|
||||
u32 unk68;
|
||||
u8 fill3[0x80 - 0x6c];
|
||||
u8 fill80[0x80 - 0x6c];
|
||||
s8 unk80;
|
||||
u8 fill82[0x82 - 0x81];
|
||||
s8 unk81;
|
||||
s8 unk82;
|
||||
s8 unk83;
|
||||
s8 unk84;
|
||||
|
|
@ -19,6 +22,6 @@ typedef struct {
|
|||
void ov15_0238AE6C(void);
|
||||
s32 ov15_0238AE88(void);
|
||||
void ov15_0238AE98(void);
|
||||
int ov15_0238AF54(void);
|
||||
|
||||
#endif //PMDSKY_OVERLAY_15_0238AE6C_H
|
||||
|
||||
|
|
|
|||
2
main.lsf
2
main.lsf
|
|
@ -150,7 +150,7 @@ Overlay OVY_15
|
|||
Object src/overlay_15_0238AD78.o
|
||||
Object asm/overlay_15_0238ADC4.o
|
||||
Object src/overlay_15_0238AE6C.o
|
||||
Object asm/overlay_15_0238AF54.o
|
||||
Object asm/overlay_15_0238B054.o
|
||||
}
|
||||
Overlay OVY_16
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,20 +2,28 @@
|
|||
|
||||
extern unkStruct_ov15_0238AE6C* OVERLAY15_UNKNOWN_POINTER__NA_238B180;
|
||||
|
||||
extern u16 ov15_0238A140(void);
|
||||
extern void ov15_0238AD78(u8);
|
||||
extern u16 ov15_0238A140(void);
|
||||
extern void Debug_Print0(const char* fmt);
|
||||
extern void MemFree(void*);
|
||||
extern int ov15_0238A234(void);
|
||||
extern int IsDialogueBoxActive(s8);
|
||||
extern void HidePortraitBox(int);
|
||||
extern void sub_0202F2C4(s8);
|
||||
extern void sub_0202836C(int);
|
||||
extern void ClosePortraitBox(s8);
|
||||
extern void CloseDialogueBox(int);
|
||||
extern void ov11_022E6E68(void);
|
||||
|
||||
void ov15_0238AE6C(void) {
|
||||
|
||||
void ov15_0238AE6C(void)
|
||||
{
|
||||
ov15_0238AD78(OVERLAY15_UNKNOWN_POINTER__NA_238B180->unkD8);
|
||||
}
|
||||
|
||||
s32 ov15_0238AE88(void)
|
||||
{
|
||||
s32 ov15_0238AE88(void) {
|
||||
|
||||
ov15_0238A140();
|
||||
return 1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
const char ov15_0238B11C[] = "mes not close\n";
|
||||
|
|
@ -23,23 +31,57 @@ const char ov15_0238B12C[] = "sub not close\n";
|
|||
const char ov15_0238B13C[] = "select not close\n";
|
||||
const char ov15_0238B150[] = "Input not close\n";
|
||||
|
||||
void ov15_0238AE98(void)
|
||||
{
|
||||
if (OVERLAY15_UNKNOWN_POINTER__NA_238B180 == NULL) {
|
||||
void ov15_0238AE98(void) {
|
||||
|
||||
if (OVERLAY15_UNKNOWN_POINTER__NA_238B180 == NULL)
|
||||
return;
|
||||
}
|
||||
if (OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk80 != -2) {
|
||||
|
||||
if (OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk80 != -2)
|
||||
Debug_Print0(ov15_0238B11C);
|
||||
}
|
||||
if (OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk82 != -2) {
|
||||
|
||||
if (OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk82 != -2)
|
||||
Debug_Print0(ov15_0238B12C);
|
||||
}
|
||||
if (OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk83 != -2) {
|
||||
|
||||
if (OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk83 != -2)
|
||||
Debug_Print0(ov15_0238B13C);
|
||||
}
|
||||
if (OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk84 != -2) {
|
||||
|
||||
if (OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk84 != -2)
|
||||
Debug_Print0(ov15_0238B150);
|
||||
}
|
||||
|
||||
MemFree(OVERLAY15_UNKNOWN_POINTER__NA_238B180);
|
||||
OVERLAY15_UNKNOWN_POINTER__NA_238B180 = NULL;
|
||||
}
|
||||
|
||||
int ov15_0238AF54(void) {
|
||||
|
||||
switch(OVERLAY15_UNKNOWN_POINTER__NA_238B180 -> unk0) {
|
||||
|
||||
case 0:
|
||||
OVERLAY15_UNKNOWN_POINTER__NA_238B180 -> unk0 = 1;
|
||||
break;
|
||||
case 1:
|
||||
if (ov15_0238A234() == 3)
|
||||
OVERLAY15_UNKNOWN_POINTER__NA_238B180 -> unk0 = 2;
|
||||
break;
|
||||
case 2:
|
||||
if (IsDialogueBoxActive(OVERLAY15_UNKNOWN_POINTER__NA_238B180 -> unk80) == FALSE) {
|
||||
HidePortraitBox(OVERLAY15_UNKNOWN_POINTER__NA_238B180 -> unk81);
|
||||
sub_0202F2C4(OVERLAY15_UNKNOWN_POINTER__NA_238B180 -> unk80);
|
||||
OVERLAY15_UNKNOWN_POINTER__NA_238B180 -> unk0 = 5;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
break;
|
||||
case 5:
|
||||
sub_0202836C(OVERLAY15_UNKNOWN_POINTER__NA_238B180 -> unk80);
|
||||
ClosePortraitBox(OVERLAY15_UNKNOWN_POINTER__NA_238B180 -> unk81);
|
||||
CloseDialogueBox(OVERLAY15_UNKNOWN_POINTER__NA_238B180 -> unk80);
|
||||
OVERLAY15_UNKNOWN_POINTER__NA_238B180 -> unk0 = 3;
|
||||
OVERLAY15_UNKNOWN_POINTER__NA_238B180 -> unk80 = 0xfe;
|
||||
break;
|
||||
case 3:
|
||||
ov11_022E6E68();
|
||||
return 4;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user