mirror of
https://github.com/pret/pmd-sky.git
synced 2026-04-26 08:35:04 -05:00
Decomped ov15_0238AD78
Decomped by Seti
This commit is contained in:
parent
12b01d27dd
commit
de40a04a70
|
|
@ -1,9 +1,11 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
.public AddMoneyCarried
|
.public AddMoneyCarried
|
||||||
.public AddMoneyStored
|
.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 CloseAdvancedTextBox
|
||||||
.public CloseDialogueBox
|
|
||||||
.public ClosePortraitBox
|
|
||||||
.public CloseSimpleMenu
|
.public CloseSimpleMenu
|
||||||
.public CloseTextBox
|
.public CloseTextBox
|
||||||
.public CreateAdvancedTextBox
|
.public CreateAdvancedTextBox
|
||||||
|
|
@ -12,19 +14,15 @@
|
||||||
.public CreateSimpleMenuFromStringIds
|
.public CreateSimpleMenuFromStringIds
|
||||||
.public CreateTextBox
|
.public CreateTextBox
|
||||||
.public Debug_Print0
|
.public Debug_Print0
|
||||||
.public DrawTextInWindow
|
|
||||||
.public GetMoneyCarried
|
.public GetMoneyCarried
|
||||||
.public GetMoneyStored
|
.public GetMoneyStored
|
||||||
.public GetSimpleMenuResult
|
.public GetSimpleMenuResult
|
||||||
.public HidePortraitBox
|
|
||||||
.public InitPortraitParamsWithMonsterId
|
.public InitPortraitParamsWithMonsterId
|
||||||
.public InitPreprocessorArgs
|
.public InitPreprocessorArgs
|
||||||
.public IsDialogueBoxActive
|
.public IsDialogueBoxActive
|
||||||
.public MemAlloc
|
.public MemAlloc
|
||||||
.public MemFree
|
.public OVERLAY15_UNKNOWN_POINTER__NA_238B180
|
||||||
.public ov11_022E6E68
|
|
||||||
.public PlaySeVolumeWrapper
|
.public PlaySeVolumeWrapper
|
||||||
.public PreprocessStringFromId
|
|
||||||
.public SetAdvancedTextBoxField0x1C2
|
.public SetAdvancedTextBoxField0x1C2
|
||||||
.public SetAdvancedTextBoxField0x1C4
|
.public SetAdvancedTextBoxField0x1C4
|
||||||
.public SetAdvancedTextBoxState5
|
.public SetAdvancedTextBoxState5
|
||||||
|
|
@ -33,14 +31,18 @@
|
||||||
.public ShowDialogueBox
|
.public ShowDialogueBox
|
||||||
.public ShowPortraitInPortraitBox
|
.public ShowPortraitInPortraitBox
|
||||||
.public ShowStringIdInDialogueBox
|
.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_02017C80
|
||||||
.public sub_02026268
|
|
||||||
.public sub_02027B1C
|
|
||||||
.public sub_0202836C
|
|
||||||
.public sub_020288DC
|
.public sub_020288DC
|
||||||
.public sub_0202F2C4
|
|
||||||
.public sub_0202F954
|
.public sub_0202F954
|
||||||
.public sub_020395CC
|
.public sub_020395CC
|
||||||
.public sub_020396E4
|
.public sub_020396E4
|
||||||
.public sub_02039B0C
|
|
||||||
.public UpdateWindow
|
|
||||||
|
|
|
||||||
24
asm/include/overlay_15_0238ADC4.inc
Normal file
24
asm/include/overlay_15_0238ADC4.inc
Normal 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
|
||||||
324
asm/overlay_15.s
324
asm/overlay_15.s
|
|
@ -990,327 +990,3 @@ _0238C2DC: .word 0x00003246
|
||||||
_0238AD70: .word 0x00000382 + OV15_0238A4E8_OFFSET
|
_0238AD70: .word 0x00000382 + OV15_0238A4E8_OFFSET
|
||||||
_0238AD74: .word ov15_0238B114
|
_0238AD74: .word ov15_0238B114
|
||||||
arm_func_end ov15_0238A4E8
|
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
294
asm/overlay_15_0238ADC4.s
Normal 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
|
||||||
13
include/overlay_15_0238AD78.h
Normal file
13
include/overlay_15_0238AD78.h
Normal 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
|
||||||
2
main.lsf
2
main.lsf
|
|
@ -127,6 +127,8 @@ Overlay OVY_15
|
||||||
{
|
{
|
||||||
After OVY_11
|
After OVY_11
|
||||||
Object asm/overlay_15.o
|
Object asm/overlay_15.o
|
||||||
|
Object src/overlay_15_0238AD78.o
|
||||||
|
Object asm/overlay_15_0238ADC4.o
|
||||||
}
|
}
|
||||||
Overlay OVY_16
|
Overlay OVY_16
|
||||||
{
|
{
|
||||||
|
|
|
||||||
18
src/overlay_15_0238AD78.c
Normal file
18
src/overlay_15_0238AD78.c
Normal 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;
|
||||||
|
}
|
||||||
|
|
@ -45,6 +45,8 @@ if function_location.startswith('main'):
|
||||||
file_prefix = 'main_'
|
file_prefix = 'main_'
|
||||||
else:
|
else:
|
||||||
file_prefix = function_location[:len('overlay_00_')]
|
file_prefix = function_location[:len('overlay_00_')]
|
||||||
|
if file_prefix[-1] != '_':
|
||||||
|
file_prefix += '_'
|
||||||
|
|
||||||
function_start_line = None
|
function_start_line = None
|
||||||
function_end_line = None
|
function_end_line = None
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user