Decomped ov15_0238AD78

Decomped by Seti
This commit is contained in:
AnonymousRandomPerson 2024-10-18 01:12:59 -04:00
parent 12b01d27dd
commit de40a04a70
8 changed files with 368 additions and 337 deletions

View File

@ -1,9 +1,11 @@
#pragma once
.public AddMoneyCarried
.public AddMoneyStored
.public BANK_MAIN_MENU_ITEMS
.public BANK_WINDOW_PARAMS_2
.public BANK_WINDOW_PARAMS_3
.public BANK_WINDOW_PARAMS_4
.public CloseAdvancedTextBox
.public CloseDialogueBox
.public ClosePortraitBox
.public CloseSimpleMenu
.public CloseTextBox
.public CreateAdvancedTextBox
@ -12,19 +14,15 @@
.public CreateSimpleMenuFromStringIds
.public CreateTextBox
.public Debug_Print0
.public DrawTextInWindow
.public GetMoneyCarried
.public GetMoneyStored
.public GetSimpleMenuResult
.public HidePortraitBox
.public InitPortraitParamsWithMonsterId
.public InitPreprocessorArgs
.public IsDialogueBoxActive
.public MemAlloc
.public MemFree
.public ov11_022E6E68
.public OVERLAY15_UNKNOWN_POINTER__NA_238B180
.public PlaySeVolumeWrapper
.public PreprocessStringFromId
.public SetAdvancedTextBoxField0x1C2
.public SetAdvancedTextBoxField0x1C4
.public SetAdvancedTextBoxState5
@ -33,14 +31,18 @@
.public ShowDialogueBox
.public ShowPortraitInPortraitBox
.public ShowStringIdInDialogueBox
.public ov15_0238AD78
.public ov15_0238ADC4
.public ov15_0238AE6C
.public ov15_0238B0CC
.public ov15_0238B0D4
.public ov15_0238B0E0
.public ov15_0238B0E8
.public ov15_0238B0F4
.public ov15_0238B10C
.public ov15_0238B114
.public sub_02017C80
.public sub_02026268
.public sub_02027B1C
.public sub_0202836C
.public sub_020288DC
.public sub_0202F2C4
.public sub_0202F954
.public sub_020395CC
.public sub_020396E4
.public sub_02039B0C
.public UpdateWindow

View File

@ -0,0 +1,24 @@
#pragma once
.public CloseDialogueBox
.public ClosePortraitBox
.public Debug_Print0
.public DrawTextInWindow
.public GetMoneyCarried
.public GetMoneyStored
.public HidePortraitBox
.public IsDialogueBoxActive
.public MemFree
.public OVERLAY15_UNKNOWN_POINTER__NA_238B180
.public PreprocessStringFromId
.public UpdateWindow
.public ov11_022E6E68
.public ov15_0238A140
.public ov15_0238A234
.public ov15_0238AD78
.public ov15_0238B11C
.public ov15_0238B12C
.public ov15_0238B13C
.public ov15_0238B150
.public sub_02027B1C
.public sub_0202836C
.public sub_0202F2C4

View File

@ -990,327 +990,3 @@ _0238C2DC: .word 0x00003246
_0238AD70: .word 0x00000382 + OV15_0238A4E8_OFFSET
_0238AD74: .word ov15_0238B114
arm_func_end ov15_0238A4E8
arm_func_start ov15_0238AD78
ov15_0238AD78: ; 0x0238AD78
stmdb sp!, {r3, lr}
cmp r0, #0
#ifdef JAPAN
ldrne r0, _0238C32C ; =0x00003249
#else
movne r0, #0x384
#endif
ldr r1, _0238ADBC ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldreq r0, _0238ADC0 ; =0x00000385
ldr r1, [r1]
mov r0, r0, lsl #0x10
mov r3, r0, lsr #0x10
ldrsb r0, [r1, #0x68]
mov r1, #2
mov r2, #0
bl sub_02026268
ldr r0, _0238ADBC ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r0, [r0]
add r0, r0, #0x54
bl sub_02039B0C
ldmia sp!, {r3, pc}
.align 2, 0
#ifdef JAPAN
_0238C32C: .word 0x00003249
_0238ADBC: .word OVERLAY15_UNKNOWN_POINTER__NA_238B180
_0238ADC0: .word 0x0000324A
#else
_0238ADBC: .word OVERLAY15_UNKNOWN_POINTER__NA_238B180
_0238ADC0: .word 0x00000385
#endif
arm_func_end ov15_0238AD78
arm_func_start ov15_0238ADC4
ov15_0238ADC4: ; 0x0238ADC4
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x54
sub sp, sp, #0x400
mov r4, r0
bl sub_02027B1C
bl GetMoneyCarried
add ip, sp, #0x400
str r0, [sp, #0x428]
add ip, ip, #4
ldr r2, _0238AE64 ; =0x00000373
ldr r3, _0238AE68 ; =0x0000C402
add r0, sp, #4
mov r1, #0x100
str ip, [sp]
bl PreprocessStringFromId
add r3, sp, #4
mov r0, r4
mov r1, #8
mov r2, #6
bl DrawTextInWindow
bl GetMoneyStored
add r1, sp, #0x400
str r0, [sp, #0x428]
add r1, r1, #4
str r1, [sp]
#ifdef JAPAN
ldr r2, _0238C3E0 ; =0x00003239
ldr r3, _0238AE68 ; =0x0000C402
add r0, sp, #4
mov r1, #0x100
#else
ldr r3, _0238AE68 ; =0x0000C402
add r0, sp, #4
mov r1, #0x100
mov r2, #0x374
#endif
bl PreprocessStringFromId
mov r0, r4
mov r1, #0x74
mov r2, #6
add r3, sp, #4
bl DrawTextInWindow
mov r0, r4
bl UpdateWindow
add sp, sp, #0x54
add sp, sp, #0x400
ldmia sp!, {r3, r4, pc}
.align 2, 0
#ifdef JAPAN
_0238AE64: .word 0x00003238
_0238AE68: .word 0x0000C402
_0238C3E0: .word 0x00003239
#else
_0238AE64: .word 0x00000373
_0238AE68: .word 0x0000C402
#endif
arm_func_end ov15_0238ADC4
arm_func_start ov15_0238AE6C
ov15_0238AE6C: ; 0x0238AE6C
ldr r0, _0238AE80 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr ip, _0238AE84 ; =ov15_0238AD78
ldr r0, [r0]
ldrb r0, [r0, #0xd8]
bx ip
.align 2, 0
_0238AE80: .word OVERLAY15_UNKNOWN_POINTER__NA_238B180
_0238AE84: .word ov15_0238AD78
arm_func_end ov15_0238AE6C
arm_func_start ov15_0238AE88
ov15_0238AE88: ; 0x0238AE88
stmdb sp!, {r3, lr}
bl ov15_0238A140
mov r0, #1
ldmia sp!, {r3, pc}
arm_func_end ov15_0238AE88
arm_func_start ov15_0238AE98
ov15_0238AE98: ; 0x0238AE98
stmdb sp!, {r3, lr}
ldr r0, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r0, [r0]
cmp r0, #0
ldmeqia sp!, {r3, pc}
ldrsb r1, [r0, #0x80]
mvn r0, #1
cmp r1, r0
beq _0238AEC4
ldr r0, _0238AF44 ; =ov15_0238B11C
bl Debug_Print0
_0238AEC4:
ldr r1, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mvn r0, #1
ldr r1, [r1]
ldrsb r1, [r1, #0x82]
cmp r1, r0
beq _0238AEE4
ldr r0, _0238AF48 ; =ov15_0238B12C
bl Debug_Print0
_0238AEE4:
ldr r1, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mvn r0, #1
ldr r1, [r1]
ldrsb r1, [r1, #0x83]
cmp r1, r0
beq _0238AF04
ldr r0, _0238AF4C ; =ov15_0238B13C
bl Debug_Print0
_0238AF04:
ldr r1, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mvn r0, #1
ldr r1, [r1]
ldrsb r1, [r1, #0x84]
cmp r1, r0
beq _0238AF24
ldr r0, _0238AF50 ; =ov15_0238B150
bl Debug_Print0
_0238AF24:
ldr r0, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r0, [r0]
bl MemFree
ldr r0, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mov r1, #0
str r1, [r0]
ldmia sp!, {r3, pc}
.align 2, 0
_0238AF40: .word OVERLAY15_UNKNOWN_POINTER__NA_238B180
_0238AF44: .word ov15_0238B11C
_0238AF48: .word ov15_0238B12C
_0238AF4C: .word ov15_0238B13C
_0238AF50: .word ov15_0238B150
arm_func_end ov15_0238AE98
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
BANK_MAIN_MENU_ITEMS:
#ifdef JAPAN
#define OV15_DATA_OFFSET 0x2EC5
#else
#define OV15_DATA_OFFSET 0
#endif
.word 0x36F + OV15_DATA_OFFSET
.byte 0x02, 0x00, 0x00, 0x00
.word 0x370 + OV15_DATA_OFFSET
.byte 0x03, 0x00, 0x00, 0x00
.word 0x371 + OV15_DATA_OFFSET
.byte 0x04, 0x00, 0x00, 0x00
.word 0x372 + OV15_DATA_OFFSET
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x12, 0x1E, 0x05
.byte 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global BANK_WINDOW_PARAMS_2
BANK_WINDOW_PARAMS_2:
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x1C, 0x03
.byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global BANK_WINDOW_PARAMS_3
BANK_WINDOW_PARAMS_3:
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x08, 0x0B, 0x07
.byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global BANK_WINDOW_PARAMS_4
BANK_WINDOW_PARAMS_4:
.byte 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0x00, 0x00
.byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x05
.byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
#ifndef EUROPE
.global ov15_0238B0CC
ov15_0238B0CC:
.byte 0x43, 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x0A, 0x00
#endif
.global ov15_0238B0D4
ov15_0238B0D4:
.byte 0x52, 0x2D, 0x43, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00, 0x00, 0x00
.global ov15_0238B0E0
ov15_0238B0E0:
.byte 0x4D, 0x2D, 0x4F, 0x70
.byte 0x65, 0x6E, 0x0A, 0x00
.global ov15_0238B0E8
ov15_0238B0E8:
.byte 0x53, 0x2D, 0x43, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00, 0x00, 0x00
.global ov15_0238B0F4
ov15_0238B0F4:
.byte 0x4D, 0x65, 0x6E, 0x75, 0x5F, 0x42, 0x61, 0x6E, 0x6B, 0x5F, 0x4D, 0x6F, 0x64, 0x65, 0x5F, 0x43
.byte 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x0A, 0x00, 0x00
.global ov15_0238B10C
ov15_0238B10C:
.byte 0x50, 0x2D, 0x4F, 0x70, 0x65, 0x6E, 0x0A, 0x00
.global ov15_0238B114
ov15_0238B114:
.byte 0x47, 0x2D, 0x4F, 0x70, 0x65, 0x6E, 0x0A, 0x00
.global ov15_0238B11C
ov15_0238B11C:
.byte 0x6D, 0x65, 0x73, 0x20, 0x6E, 0x6F, 0x74, 0x20
.byte 0x63, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00
.global ov15_0238B12C
ov15_0238B12C:
.byte 0x73, 0x75, 0x62, 0x20, 0x6E, 0x6F, 0x74, 0x20
.byte 0x63, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00
.global ov15_0238B13C
ov15_0238B13C:
.byte 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x20, 0x6E
.byte 0x6F, 0x74, 0x20, 0x63, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00, 0x00
.global ov15_0238B150
ov15_0238B150:
.byte 0x49, 0x6E, 0x70, 0x75
.byte 0x74, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x63, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00, 0x00, 0x00
.data
.global OVERLAY15_UNKNOWN_POINTER__NA_238B180
OVERLAY15_UNKNOWN_POINTER__NA_238B180:
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

294
asm/overlay_15_0238ADC4.s Normal file
View File

@ -0,0 +1,294 @@
.include "asm/macros.inc"
.include "overlay_15_0238ADC4.inc"
.text
arm_func_start ov15_0238ADC4
ov15_0238ADC4: ; 0x0238ADC4
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x54
sub sp, sp, #0x400
mov r4, r0
bl sub_02027B1C
bl GetMoneyCarried
add ip, sp, #0x400
str r0, [sp, #0x428]
add ip, ip, #4
ldr r2, _0238AE64 ; =0x00000373
ldr r3, _0238AE68 ; =0x0000C402
add r0, sp, #4
mov r1, #0x100
str ip, [sp]
bl PreprocessStringFromId
add r3, sp, #4
mov r0, r4
mov r1, #8
mov r2, #6
bl DrawTextInWindow
bl GetMoneyStored
add r1, sp, #0x400
str r0, [sp, #0x428]
add r1, r1, #4
str r1, [sp]
#ifdef JAPAN
ldr r2, _0238C3E0 ; =0x00003239
ldr r3, _0238AE68 ; =0x0000C402
add r0, sp, #4
mov r1, #0x100
#else
ldr r3, _0238AE68 ; =0x0000C402
add r0, sp, #4
mov r1, #0x100
mov r2, #0x374
#endif
bl PreprocessStringFromId
mov r0, r4
mov r1, #0x74
mov r2, #6
add r3, sp, #4
bl DrawTextInWindow
mov r0, r4
bl UpdateWindow
add sp, sp, #0x54
add sp, sp, #0x400
ldmia sp!, {r3, r4, pc}
.align 2, 0
#ifdef JAPAN
_0238AE64: .word 0x00003238
_0238AE68: .word 0x0000C402
_0238C3E0: .word 0x00003239
#else
_0238AE64: .word 0x00000373
_0238AE68: .word 0x0000C402
#endif
arm_func_end ov15_0238ADC4
arm_func_start ov15_0238AE6C
ov15_0238AE6C: ; 0x0238AE6C
ldr r0, _0238AE80 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr ip, _0238AE84 ; =ov15_0238AD78
ldr r0, [r0]
ldrb r0, [r0, #0xd8]
bx ip
.align 2, 0
_0238AE80: .word OVERLAY15_UNKNOWN_POINTER__NA_238B180
_0238AE84: .word ov15_0238AD78
arm_func_end ov15_0238AE6C
arm_func_start ov15_0238AE88
ov15_0238AE88: ; 0x0238AE88
stmdb sp!, {r3, lr}
bl ov15_0238A140
mov r0, #1
ldmia sp!, {r3, pc}
arm_func_end ov15_0238AE88
arm_func_start ov15_0238AE98
ov15_0238AE98: ; 0x0238AE98
stmdb sp!, {r3, lr}
ldr r0, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r0, [r0]
cmp r0, #0
ldmeqia sp!, {r3, pc}
ldrsb r1, [r0, #0x80]
mvn r0, #1
cmp r1, r0
beq _0238AEC4
ldr r0, _0238AF44 ; =ov15_0238B11C
bl Debug_Print0
_0238AEC4:
ldr r1, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mvn r0, #1
ldr r1, [r1]
ldrsb r1, [r1, #0x82]
cmp r1, r0
beq _0238AEE4
ldr r0, _0238AF48 ; =ov15_0238B12C
bl Debug_Print0
_0238AEE4:
ldr r1, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mvn r0, #1
ldr r1, [r1]
ldrsb r1, [r1, #0x83]
cmp r1, r0
beq _0238AF04
ldr r0, _0238AF4C ; =ov15_0238B13C
bl Debug_Print0
_0238AF04:
ldr r1, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mvn r0, #1
ldr r1, [r1]
ldrsb r1, [r1, #0x84]
cmp r1, r0
beq _0238AF24
ldr r0, _0238AF50 ; =ov15_0238B150
bl Debug_Print0
_0238AF24:
ldr r0, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
ldr r0, [r0]
bl MemFree
ldr r0, _0238AF40 ; =OVERLAY15_UNKNOWN_POINTER__NA_238B180
mov r1, #0
str r1, [r0]
ldmia sp!, {r3, pc}
.align 2, 0
_0238AF40: .word OVERLAY15_UNKNOWN_POINTER__NA_238B180
_0238AF44: .word ov15_0238B11C
_0238AF48: .word ov15_0238B12C
_0238AF4C: .word ov15_0238B13C
_0238AF50: .word ov15_0238B150
arm_func_end ov15_0238AE98
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
BANK_MAIN_MENU_ITEMS:
#ifdef JAPAN
#define OV15_DATA_OFFSET 0x2EC5
#else
#define OV15_DATA_OFFSET 0
#endif
.word 0x36F + OV15_DATA_OFFSET
.byte 0x02, 0x00, 0x00, 0x00
.word 0x370 + OV15_DATA_OFFSET
.byte 0x03, 0x00, 0x00, 0x00
.word 0x371 + OV15_DATA_OFFSET
.byte 0x04, 0x00, 0x00, 0x00
.word 0x372 + OV15_DATA_OFFSET
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x12, 0x1E, 0x05
.byte 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global BANK_WINDOW_PARAMS_2
BANK_WINDOW_PARAMS_2:
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x1C, 0x03
.byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global BANK_WINDOW_PARAMS_3
BANK_WINDOW_PARAMS_3:
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x08, 0x0B, 0x07
.byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global BANK_WINDOW_PARAMS_4
BANK_WINDOW_PARAMS_4:
.byte 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0x00, 0x00
.byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x05
.byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
#ifndef EUROPE
.global ov15_0238B0CC
ov15_0238B0CC:
.byte 0x43, 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x0A, 0x00
#endif
.global ov15_0238B0D4
ov15_0238B0D4:
.byte 0x52, 0x2D, 0x43, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00, 0x00, 0x00
.global ov15_0238B0E0
ov15_0238B0E0:
.byte 0x4D, 0x2D, 0x4F, 0x70
.byte 0x65, 0x6E, 0x0A, 0x00
.global ov15_0238B0E8
ov15_0238B0E8:
.byte 0x53, 0x2D, 0x43, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00, 0x00, 0x00
.global ov15_0238B0F4
ov15_0238B0F4:
.byte 0x4D, 0x65, 0x6E, 0x75, 0x5F, 0x42, 0x61, 0x6E, 0x6B, 0x5F, 0x4D, 0x6F, 0x64, 0x65, 0x5F, 0x43
.byte 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x0A, 0x00, 0x00
.global ov15_0238B10C
ov15_0238B10C:
.byte 0x50, 0x2D, 0x4F, 0x70, 0x65, 0x6E, 0x0A, 0x00
.global ov15_0238B114
ov15_0238B114:
.byte 0x47, 0x2D, 0x4F, 0x70, 0x65, 0x6E, 0x0A, 0x00
.global ov15_0238B11C
ov15_0238B11C:
.byte 0x6D, 0x65, 0x73, 0x20, 0x6E, 0x6F, 0x74, 0x20
.byte 0x63, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00
.global ov15_0238B12C
ov15_0238B12C:
.byte 0x73, 0x75, 0x62, 0x20, 0x6E, 0x6F, 0x74, 0x20
.byte 0x63, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00
.global ov15_0238B13C
ov15_0238B13C:
.byte 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x20, 0x6E
.byte 0x6F, 0x74, 0x20, 0x63, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00, 0x00
.global ov15_0238B150
ov15_0238B150:
.byte 0x49, 0x6E, 0x70, 0x75
.byte 0x74, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x63, 0x6C, 0x6F, 0x73, 0x65, 0x0A, 0x00, 0x00, 0x00, 0x00
.data
.global OVERLAY15_UNKNOWN_POINTER__NA_238B180
OVERLAY15_UNKNOWN_POINTER__NA_238B180:
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

View File

@ -0,0 +1,13 @@
#ifndef PMDSKY_OVERLAY_15_0238AD78_H
#define PMDSKY_OVERLAY_15_0238AD78_H
typedef struct {
u8 fill0[0x54];
u32 unk54;
u8 fill58[0x68 - 0x58];
s8 unk68;
} unkStruct_ov15_0238AD78;
void ov15_0238AD78(u32 r0);
#endif //PMDSKY_OVERLAY_15_0238AD78_H

View File

@ -127,6 +127,8 @@ Overlay OVY_15
{
After OVY_11
Object asm/overlay_15.o
Object src/overlay_15_0238AD78.o
Object asm/overlay_15_0238ADC4.o
}
Overlay OVY_16
{

18
src/overlay_15_0238AD78.c Normal file
View File

@ -0,0 +1,18 @@
#include "overlay_15_0238AD78.h"
extern unkStruct_ov15_0238AD78* OVERLAY15_UNKNOWN_POINTER__NA_238B180;
extern void sub_02026268(u32, u32, u32, u16);
extern void sub_02039B0C(u32*);
void ov15_0238AD78(u32 r0) {
u32 uVar1;
if (r0 != 0)
uVar1 = 900;
else
uVar1 = 901;
sub_02026268(OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk68, 2, 0, uVar1);
sub_02039B0C(&OVERLAY15_UNKNOWN_POINTER__NA_238B180->unk54);
return;
}

View File

@ -45,6 +45,8 @@ if function_location.startswith('main'):
file_prefix = 'main_'
else:
file_prefix = function_location[:len('overlay_00_')]
if file_prefix[-1] != '_':
file_prefix += '_'
function_start_line = None
function_end_line = None