mirror of
https://github.com/pret/pmd-sky.git
synced 2026-03-21 17:25:15 -05:00
1115 lines
23 KiB
ArmAsm
1115 lines
23 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "overlay_29_0234AEE8.inc"
|
|
|
|
.text
|
|
|
|
arm_func_start ov29_0234AEE8
|
|
ov29_0234AEE8: ; 0x0234AEE8
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0234AF30 ; =DUNGEON_PTR
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, #0x790]
|
|
cmp r0, #0
|
|
bne _0234AF24
|
|
bl ov29_022EAEFC
|
|
cmp r0, #0
|
|
beq _0234AF24
|
|
ldr r0, _0234AF30 ; =DUNGEON_PTR
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x4000
|
|
#ifdef JAPAN
|
|
ldrsh r0, [r0, #0x32]
|
|
#else
|
|
ldrsh r0, [r0, #0xd6]
|
|
#endif
|
|
bl MusicTableIdxToMusicId
|
|
bl ChangeDungeonMusic
|
|
_0234AF24:
|
|
mov r0, #0
|
|
bl ov29_022EAF34
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0234AF30: .word DUNGEON_PTR
|
|
arm_func_end ov29_0234AEE8
|
|
|
|
arm_func_start ov29_0234AF34
|
|
ov29_0234AF34: ; 0x0234AF34
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
ldrb ip, [r2]
|
|
ldr r2, [r6, #0xb4]
|
|
mov r5, r1
|
|
mov r4, r3
|
|
strb ip, [r2, #0x48]
|
|
bl ov29_022E68F0
|
|
cmp r5, #0
|
|
beq _0234AF64
|
|
mov r0, r5
|
|
bl ov29_022E68F0
|
|
_0234AF64:
|
|
ldr r1, _0234AFA0 ; =0x0000025B
|
|
mov r0, r6
|
|
mov r2, #0
|
|
bl HandleFaint
|
|
cmp r5, #0
|
|
beq _0234AF8C
|
|
ldr r1, _0234AFA0 ; =0x0000025B
|
|
mov r0, r5
|
|
mov r2, #0
|
|
bl HandleFaint
|
|
_0234AF8C:
|
|
mov r0, #1
|
|
bl AnimationDelayOrSomething
|
|
mov r0, r4
|
|
bl ov29_02348A18
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0234AFA0: .word 0x0000025B
|
|
arm_func_end ov29_0234AF34
|
|
|
|
arm_func_start InitAlertBoxInfo
|
|
InitAlertBoxInfo: ; 0x0234AFA4
|
|
stmdb sp!, {r3, lr}
|
|
mov r0, #0xcf0
|
|
mov r1, #0
|
|
bl MemAlloc
|
|
ldr r2, _0234AFCC ; =MESSAGE_LOG_INFO
|
|
mov r1, #0xcf0
|
|
str r0, [r2, #4]
|
|
bl MemZero
|
|
bl ov29_0234B130
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0234AFCC: .word MESSAGE_LOG_INFO
|
|
arm_func_end InitAlertBoxInfo
|
|
|
|
arm_func_start FreeAlertBoxInfo
|
|
FreeAlertBoxInfo: ; 0x0234AFD0
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0234AFF8 ; =MESSAGE_LOG_INFO
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl MemFree
|
|
ldr r0, _0234AFF8 ; =MESSAGE_LOG_INFO
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0234AFF8: .word MESSAGE_LOG_INFO
|
|
arm_func_end FreeAlertBoxInfo
|
|
|
|
arm_func_start ov29_0234AFFC
|
|
ov29_0234AFFC: ; 0x0234AFFC
|
|
ldr r1, _0234B00C ; =MESSAGE_LOG_INFO
|
|
ldr r1, [r1, #4]
|
|
strb r0, [r1, #0xced]
|
|
bx lr
|
|
.align 2, 0
|
|
_0234B00C: .word MESSAGE_LOG_INFO
|
|
arm_func_end ov29_0234AFFC
|
|
|
|
arm_func_start ov29_0234B010
|
|
ov29_0234B010: ; 0x0234B010
|
|
ldr r1, _0234B020 ; =MESSAGE_LOG_INFO
|
|
ldr r1, [r1, #4]
|
|
strb r0, [r1, #0xcee]
|
|
bx lr
|
|
.align 2, 0
|
|
_0234B020: .word MESSAGE_LOG_INFO
|
|
arm_func_end ov29_0234B010
|
|
|
|
arm_func_start SetMessageLogGroupStartFlag
|
|
SetMessageLogGroupStartFlag: ; 0x0234B024
|
|
ldr r1, _0234B030 ; =MESSAGE_LOG_INFO
|
|
strb r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0234B030: .word MESSAGE_LOG_INFO
|
|
arm_func_end SetMessageLogGroupStartFlag
|
|
|
|
arm_func_start GetMessageLogPreprocessorArgs
|
|
GetMessageLogPreprocessorArgs: ; 0x0234B034
|
|
ldr r0, _0234B048 ; =MESSAGE_LOG_INFO
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x9c
|
|
add r0, r0, #0xc00
|
|
bx lr
|
|
.align 2, 0
|
|
_0234B048: .word MESSAGE_LOG_INFO
|
|
arm_func_end GetMessageLogPreprocessorArgs
|
|
|
|
arm_func_start InitMessageLogPreprocessorArgs
|
|
InitMessageLogPreprocessorArgs: ; 0x0234B04C
|
|
ldr r0, _0234B064 ; =MESSAGE_LOG_INFO
|
|
ldr ip, _0234B068 ; =InitPreprocessorArgs
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x9c
|
|
add r0, r0, #0xc00
|
|
bx ip
|
|
.align 2, 0
|
|
_0234B064: .word MESSAGE_LOG_INFO
|
|
_0234B068: .word InitPreprocessorArgs
|
|
arm_func_end InitMessageLogPreprocessorArgs
|
|
|
|
arm_func_start SetMessageLogPreprocessorArgsFlagVal
|
|
SetMessageLogPreprocessorArgsFlagVal: ; 0x0234B06C
|
|
ldr r2, _0234B080 ; =MESSAGE_LOG_INFO
|
|
ldr r2, [r2, #4]
|
|
add r0, r2, r0, lsl #2
|
|
str r1, [r0, #0xc9c]
|
|
bx lr
|
|
.align 2, 0
|
|
_0234B080: .word MESSAGE_LOG_INFO
|
|
arm_func_end SetMessageLogPreprocessorArgsFlagVal
|
|
|
|
arm_func_start SetPreprocessorArgsIdVal
|
|
SetPreprocessorArgsIdVal: ; 0x0234B084
|
|
ldr r2, _0234B098 ; =MESSAGE_LOG_INFO
|
|
ldr r2, [r2, #4]
|
|
add r0, r2, r0, lsl #2
|
|
str r1, [r0, #0xcac]
|
|
bx lr
|
|
.align 2, 0
|
|
_0234B098: .word MESSAGE_LOG_INFO
|
|
arm_func_end SetPreprocessorArgsIdVal
|
|
|
|
arm_func_start SetMessageLogPreprocessorArgsNumberVal
|
|
SetMessageLogPreprocessorArgsNumberVal: ; 0x0234B09C
|
|
ldr r2, _0234B0B0 ; =MESSAGE_LOG_INFO
|
|
ldr r2, [r2, #4]
|
|
add r0, r2, r0, lsl #2
|
|
str r1, [r0, #0xcc0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0234B0B0: .word MESSAGE_LOG_INFO
|
|
arm_func_end SetMessageLogPreprocessorArgsNumberVal
|
|
|
|
arm_func_start SetMessageLogPreprocessorArgsString
|
|
SetMessageLogPreprocessorArgsString: ; 0x0234B0B4
|
|
ldr r2, _0234B0C8 ; =MESSAGE_LOG_INFO
|
|
ldr r2, [r2, #4]
|
|
add r0, r2, r0, lsl #2
|
|
str r1, [r0, #0xcd4]
|
|
bx lr
|
|
.align 2, 0
|
|
_0234B0C8: .word MESSAGE_LOG_INFO
|
|
arm_func_end SetMessageLogPreprocessorArgsString
|
|
|
|
arm_func_start SetMessageLogPreprocessorArgsStringToName
|
|
SetMessageLogPreprocessorArgsStringToName: ; 0x0234B0CC
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r1
|
|
mov r5, r0
|
|
bl GetSize0x80Buffer
|
|
mov r1, r4
|
|
mov r2, #0x4e
|
|
mov r4, r0
|
|
bl GetName
|
|
ldr r0, _0234B100 ; =MESSAGE_LOG_INFO
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, r5, lsl #2
|
|
str r4, [r0, #0xcd4]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0234B100: .word MESSAGE_LOG_INFO
|
|
arm_func_end SetMessageLogPreprocessorArgsStringToName
|
|
|
|
arm_func_start SetMessageLogPreprocessorArgsSpeakerId
|
|
SetMessageLogPreprocessorArgsSpeakerId: ; 0x0234B104
|
|
ldr r1, _0234B114 ; =MESSAGE_LOG_INFO
|
|
ldr r1, [r1, #4]
|
|
str r0, [r1, #0xce8]
|
|
bx lr
|
|
.align 2, 0
|
|
_0234B114: .word MESSAGE_LOG_INFO
|
|
arm_func_end SetMessageLogPreprocessorArgsSpeakerId
|
|
|
|
arm_func_start SetMessageLogPreprocessorArgsSpeakerId0x30000
|
|
SetMessageLogPreprocessorArgsSpeakerId0x30000: ; 0x0234B118
|
|
ldr r1, _0234B12C ; =MESSAGE_LOG_INFO
|
|
orr r2, r0, #0x30000
|
|
ldr r0, [r1, #4]
|
|
str r2, [r0, #0xce8]
|
|
bx lr
|
|
.align 2, 0
|
|
_0234B12C: .word MESSAGE_LOG_INFO
|
|
arm_func_end SetMessageLogPreprocessorArgsSpeakerId0x30000
|
|
|
|
arm_func_start ov29_0234B130
|
|
ov29_0234B130: ; 0x0234B130
|
|
stmdb sp!, {r3, lr}
|
|
mov r3, #0
|
|
ldr r1, _0234B1A0 ; =MESSAGE_LOG_INFO
|
|
mov r0, r3
|
|
_0234B140:
|
|
ldr r2, [r1, #4]
|
|
add r2, r2, r3
|
|
add r3, r3, #1
|
|
strb r0, [r2, #0xc80]
|
|
cmp r3, #0xa
|
|
blt _0234B140
|
|
ldr r1, _0234B1A0 ; =MESSAGE_LOG_INFO
|
|
mvn ip, #1
|
|
ldr r3, [r1, #4]
|
|
mov r2, #1
|
|
strb ip, [r3, #0xcec]
|
|
ldr r3, [r1, #4]
|
|
strb r0, [r3, #0xcee]
|
|
ldr r3, [r1, #4]
|
|
strb r0, [r3, #0xced]
|
|
str r0, [r1, #8]
|
|
strb r2, [r1]
|
|
bl ov29_0234B1A4
|
|
ldr r0, _0234B1A0 ; =MESSAGE_LOG_INFO
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x9c
|
|
add r0, r0, #0xc00
|
|
bl InitPreprocessorArgs
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0234B1A0: .word MESSAGE_LOG_INFO
|
|
arm_func_end ov29_0234B130
|
|
|
|
arm_func_start ov29_0234B1A4
|
|
ov29_0234B1A4: ; 0x0234B1A4
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov29_022E9FC0
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov ip, #0
|
|
ldr r2, _0234B24C ; =MESSAGE_LOG_INFO
|
|
mov r0, ip
|
|
_0234B1C4:
|
|
ldr r3, [r2, #4]
|
|
add r1, ip, ip, lsl #2
|
|
add ip, ip, #1
|
|
strb r0, [r3, r1, lsl #6]
|
|
cmp ip, #0xa
|
|
blt _0234B1C4
|
|
ldr r2, _0234B24C ; =MESSAGE_LOG_INFO
|
|
mov r3, #4
|
|
ldr r1, [r2, #4]
|
|
strb r0, [r1, #0xc8b]
|
|
ldr r1, [r2, #4]
|
|
add r1, r1, #0xc00
|
|
strh r0, [r1, #0x8c]
|
|
ldr r1, [r2, #4]
|
|
add r1, r1, #0xc00
|
|
strh r0, [r1, #0x8e]
|
|
ldr r1, [r2, #4]
|
|
add r1, r1, #0xc00
|
|
strh r0, [r1, #0x90]
|
|
ldr r1, [r2, #4]
|
|
add r1, r1, #0xc00
|
|
strh r3, [r1, #0x92]
|
|
ldr r1, [r2, #4]
|
|
str r0, [r1, #0xc98]
|
|
bl ov29_0234B768
|
|
cmp r0, #0
|
|
cmpne r4, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, #0
|
|
mov r1, r0
|
|
bl ov29_022EA428
|
|
mov r0, #0xb
|
|
bl AdvanceFrame
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0234B24C: .word MESSAGE_LOG_INFO
|
|
arm_func_end ov29_0234B1A4
|
|
|
|
arm_func_start LogMessageByIdWithPopupCheckParticipants
|
|
LogMessageByIdWithPopupCheckParticipants: ; 0x0234B250
|
|
stmdb sp!, {r3, lr}
|
|
ldr ip, _0234B290 ; =MESSAGE_LOG_INFO
|
|
cmp r1, #0
|
|
ldr ip, [ip, #4]
|
|
ldrsh lr, [sp, #8]
|
|
add r3, ip, r3, lsl #2
|
|
cmpne r0, #0
|
|
str lr, [r3, #0xcac]
|
|
beq _0234B27C
|
|
bl LogMessageByIdWithPopupCheckUserTarget
|
|
ldmia sp!, {r3, pc}
|
|
_0234B27C:
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
mov r1, r2
|
|
bl LogMessageByIdWithPopupCheckUser
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0234B290: .word MESSAGE_LOG_INFO
|
|
arm_func_end LogMessageByIdWithPopupCheckParticipants
|
|
|
|
arm_func_start WaitUntilAlertBoxTextIsLoadedWrapper
|
|
WaitUntilAlertBoxTextIsLoadedWrapper: ; 0x0234B294
|
|
ldr ip, _0234B2A0 ; =WaitUntilAlertBoxTextIsLoaded
|
|
mov r0, #0x50
|
|
bx ip
|
|
.align 2, 0
|
|
_0234B2A0: .word WaitUntilAlertBoxTextIsLoaded
|
|
arm_func_end WaitUntilAlertBoxTextIsLoadedWrapper
|
|
|
|
arm_func_start LogMessageByIdWithPopupCheckUser
|
|
LogMessageByIdWithPopupCheckUser: ; 0x0234B2A4
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r4, #0
|
|
mov r6, r0
|
|
mov r5, r1
|
|
bl ShouldDisplayEntityWrapper
|
|
cmp r0, #0
|
|
movne r4, #1
|
|
cmp r4, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
mov r0, r5
|
|
bl StringFromId
|
|
mov r1, r0
|
|
mov r0, r6
|
|
mov r2, #1
|
|
bl LogMessage
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end LogMessageByIdWithPopupCheckUser
|
|
|
|
arm_func_start LogMessageWithPopupCheckUser
|
|
LogMessageWithPopupCheckUser: ; 0x0234B2E4
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r4, #0
|
|
mov r6, r0
|
|
mov r5, r1
|
|
bl ShouldDisplayEntityWrapper
|
|
cmp r0, #0
|
|
movne r4, #1
|
|
cmp r4, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r2, #1
|
|
bl LogMessage
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end LogMessageWithPopupCheckUser
|
|
|
|
arm_func_start LogMessageByIdQuiet
|
|
LogMessageByIdQuiet: ; 0x0234B31C
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
mov r0, r1
|
|
bl StringFromId
|
|
mov r1, r0
|
|
mov r0, r4
|
|
mov r2, #0
|
|
bl LogMessage
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end LogMessageByIdQuiet
|
|
|
|
arm_func_start LogMessageQuiet
|
|
LogMessageQuiet: ; 0x0234B340
|
|
ldr ip, _0234B34C ; =LogMessage
|
|
mov r2, #0
|
|
bx ip
|
|
.align 2, 0
|
|
_0234B34C: .word LogMessage
|
|
arm_func_end LogMessageQuiet
|
|
|
|
arm_func_start LogMessageByIdWithPopupCheckUserTarget
|
|
LogMessageByIdWithPopupCheckUserTarget: ; 0x0234B350
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r6, r1
|
|
mov r4, #0
|
|
mov r7, r0
|
|
mov r5, r2
|
|
bl ShouldDisplayEntityWrapper
|
|
cmp r0, #0
|
|
movne r4, #1
|
|
mov r0, r6
|
|
bl ShouldDisplayEntityWrapper
|
|
cmp r0, #0
|
|
movne r4, #1
|
|
cmp r4, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r0, r5
|
|
bl StringFromId
|
|
mov r1, r0
|
|
mov r0, r7
|
|
mov r2, #1
|
|
bl LogMessage
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end LogMessageByIdWithPopupCheckUserTarget
|
|
|
|
arm_func_start LogMessageWithPopupCheckUserTarget
|
|
LogMessageWithPopupCheckUserTarget: ; 0x0234B3A4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r6, r1
|
|
mov r4, #0
|
|
mov r7, r0
|
|
mov r5, r2
|
|
bl ShouldDisplayEntityWrapper
|
|
cmp r0, #0
|
|
movne r4, #1
|
|
mov r0, r6
|
|
bl ShouldDisplayEntityWrapper
|
|
cmp r0, #0
|
|
movne r4, #1
|
|
cmp r4, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r0, r7
|
|
mov r1, r5
|
|
mov r2, #1
|
|
bl LogMessage
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end LogMessageWithPopupCheckUserTarget
|
|
|
|
arm_func_start LogMessageByIdQuietCheckUserTarget
|
|
LogMessageByIdQuietCheckUserTarget: ; 0x0234B3F0
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r6, r1
|
|
mov r4, #0
|
|
mov r7, r0
|
|
mov r5, r2
|
|
bl ShouldDisplayEntityWrapper
|
|
cmp r0, #0
|
|
movne r4, #1
|
|
mov r0, r6
|
|
bl ShouldDisplayEntityWrapper
|
|
cmp r0, #0
|
|
movne r4, #1
|
|
cmp r4, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r0, r5
|
|
bl StringFromId
|
|
mov r1, r0
|
|
mov r0, r7
|
|
mov r2, #0
|
|
bl LogMessage
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end LogMessageByIdQuietCheckUserTarget
|
|
|
|
arm_func_start LogMessageByIdWithPopupCheckUserUnknown
|
|
LogMessageByIdWithPopupCheckUserUnknown: ; 0x0234B444
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r6, r1
|
|
mov r4, #0
|
|
mov r7, r0
|
|
mov r5, r2
|
|
bl ShouldDisplayEntityWrapper
|
|
cmp r0, #0
|
|
movne r4, #1
|
|
mov r0, r6
|
|
bl ov29_022E2CA0
|
|
cmp r0, #0
|
|
movne r4, #1
|
|
cmp r4, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r0, r5
|
|
bl StringFromId
|
|
mov r1, r0
|
|
mov r0, r7
|
|
mov r2, #1
|
|
bl LogMessage
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end LogMessageByIdWithPopupCheckUserUnknown
|
|
|
|
arm_func_start LogMessageByIdWithPopup
|
|
LogMessageByIdWithPopup: ; 0x0234B498
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
mov r0, r1
|
|
bl StringFromId
|
|
mov r1, r0
|
|
mov r0, r4
|
|
mov r2, #1
|
|
bl LogMessage
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end LogMessageByIdWithPopup
|
|
|
|
arm_func_start LogMessageWithPopup
|
|
LogMessageWithPopup: ; 0x0234B4BC
|
|
ldr ip, _0234B4C8 ; =LogMessage
|
|
mov r2, #1
|
|
bx ip
|
|
.align 2, 0
|
|
_0234B4C8: .word LogMessage
|
|
arm_func_end LogMessageWithPopup
|
|
|
|
arm_func_start ov29_0234B4CC
|
|
ov29_0234B4CC: ; 0x0234B4CC
|
|
ldr r1, _0234B4DC ; =MESSAGE_LOG_INFO
|
|
ldr r1, [r1, #4]
|
|
strb r0, [r1, #0xc8a]
|
|
bx lr
|
|
.align 2, 0
|
|
_0234B4DC: .word MESSAGE_LOG_INFO
|
|
arm_func_end ov29_0234B4CC
|
|
|
|
arm_func_start ov29_0234B4E0
|
|
ov29_0234B4E0: ; 0x0234B4E0
|
|
ldr r0, _0234B4F0 ; =MESSAGE_LOG_INFO
|
|
ldr r0, [r0, #4]
|
|
ldrb r0, [r0, #0xc8b]
|
|
bx lr
|
|
.align 2, 0
|
|
_0234B4F0: .word MESSAGE_LOG_INFO
|
|
arm_func_end ov29_0234B4E0
|
|
|
|
arm_func_start ov29_0234B4F4
|
|
ov29_0234B4F4: ; 0x0234B4F4
|
|
ldr r0, _0234B504 ; =MESSAGE_LOG_INFO
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0, #0xc98]
|
|
bx lr
|
|
.align 2, 0
|
|
_0234B504: .word MESSAGE_LOG_INFO
|
|
arm_func_end ov29_0234B4F4
|
|
|
|
arm_func_start LogMessage
|
|
LogMessage: ; 0x0234B508
|
|
#ifdef EUROPE
|
|
#define LOG_MESSAGE_STACK_OFFSET 0xC0
|
|
#else
|
|
#define LOG_MESSAGE_STACK_OFFSET 0
|
|
#endif
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x284 + LOG_MESSAGE_STACK_OFFSET
|
|
ldr r4, _0234B708 ; =MESSAGE_LOG_INFO
|
|
mov fp, r2
|
|
ldr r3, [r4, #4]
|
|
ldrb r2, [r3, #0xced]
|
|
cmp r2, #0
|
|
ldreqb r2, [r3, #0xcee]
|
|
cmpeq r2, #0
|
|
bne _0234B700
|
|
ldr r3, _0234B70C ; =DUNGEON_PTR
|
|
mov r7, #0
|
|
ldr r2, [r3]
|
|
mvn r5, #0
|
|
add r2, r2, #0x100
|
|
strh r5, [r2, #0xd8]
|
|
ldr r2, [r3]
|
|
mov r3, #0x400
|
|
add r2, r2, #0x100
|
|
strh r5, [r2, #0xda]
|
|
ldr r2, [r4, #8]
|
|
mov r8, r7
|
|
cmp r2, r0
|
|
movne sl, #1
|
|
ldreqb sl, [r4]
|
|
ldr r2, _0234B708 ; =MESSAGE_LOG_INFO
|
|
mov r6, #1
|
|
str r0, [r2, #8]
|
|
strb r7, [r2]
|
|
ldr r2, [r2, #4]
|
|
add r0, sp, #0x144
|
|
add r2, r2, #0x9c
|
|
add r4, r2, #0xc00
|
|
mov r2, r1
|
|
mov r1, #0x140 + LOG_MESSAGE_STACK_OFFSET
|
|
str r4, [sp]
|
|
bl PreprocessString
|
|
ldr r4, _0234B708 ; =MESSAGE_LOG_INFO
|
|
add r5, sp, #0x144
|
|
_0234B5A4:
|
|
ldr r0, [r4, #4]
|
|
add r1, r0, #0xc00
|
|
ldrsh sb, [r1, #0x8c]
|
|
add r1, r0, #0xc00
|
|
ldrsh r2, [r1, #0x8e]
|
|
add r3, sb, #1
|
|
cmp r3, #0xa
|
|
moveq r3, #0
|
|
cmp r3, r2
|
|
bne _0234B5D8
|
|
mov r0, #0
|
|
bl AdvanceFrame
|
|
b _0234B5A4
|
|
_0234B5D8:
|
|
ldrb r2, [r5, r8]
|
|
cmp r2, #0
|
|
beq _0234B6D4
|
|
add r0, r0, sb
|
|
strb sl, [r0, #0xc80]
|
|
ldr r1, [r4, #4]
|
|
add r0, sp, #4
|
|
add r1, r1, #0x9c
|
|
add r1, r1, #0xc00
|
|
str r1, [sp]
|
|
mov r1, #0x140
|
|
add r2, r5, r8
|
|
mov r3, #0x440
|
|
bl PreprocessString
|
|
add r8, r8, r0
|
|
ldrb sb, [r5, r8]
|
|
mov r2, #0
|
|
add r1, sp, #4
|
|
strb r2, [r1, r0]
|
|
cmp sb, #0
|
|
beq _0234B660
|
|
ldr r1, _0234B710 ; =ov29_02353214
|
|
add r0, r5, r8
|
|
mov r2, #3
|
|
bl strncmp
|
|
cmp r0, #0
|
|
bne _0234B654
|
|
ldr r0, _0234B710 ; =ov29_02353214
|
|
bl strlen
|
|
add r8, r8, r0
|
|
b _0234B660
|
|
_0234B654:
|
|
cmp sb, #0xd
|
|
cmpne sb, #0xa
|
|
addeq r8, r8, #1
|
|
_0234B660:
|
|
add r0, sp, #4
|
|
mov r1, sl
|
|
mov r2, r6
|
|
bl ov29_0234BB44
|
|
mov sl, #0
|
|
cmp fp, #0
|
|
mov r6, sl
|
|
beq _0234B5A4
|
|
ldr sb, [r4, #4]
|
|
mov r2, #0x140
|
|
add r0, sb, #0xc00
|
|
ldrsh r3, [r0, #0x8c]
|
|
mov r0, r2
|
|
add r1, sp, #4
|
|
smlabb r0, r3, r0, sb
|
|
mov r7, #1
|
|
bl strncpy
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #0xc00
|
|
ldrsh r1, [r0, #0x8c]
|
|
add r1, r1, #1
|
|
strh r1, [r0, #0x8c]
|
|
ldr r0, [r4, #4]
|
|
add r1, r0, #0xc00
|
|
ldrsh r0, [r1, #0x8c]
|
|
cmp r0, #0xa
|
|
moveq r0, sl
|
|
streqh r0, [r1, #0x8c]
|
|
b _0234B5A4
|
|
_0234B6D4:
|
|
cmp r7, #0
|
|
beq _0234B700
|
|
ldr r0, _0234B708 ; =MESSAGE_LOG_INFO
|
|
mov r2, #0xf0
|
|
strh r2, [r1, #0x90]
|
|
ldr r1, [r0, #4]
|
|
ldr r0, [r1, #0xc98]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
streq r0, [r1, #0xc98]
|
|
bl ov29_022F2FE4
|
|
_0234B700:
|
|
add sp, sp, #0x284 + LOG_MESSAGE_STACK_OFFSET
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_0234B708: .word MESSAGE_LOG_INFO
|
|
_0234B70C: .word DUNGEON_PTR
|
|
_0234B710: .word ov29_02353214
|
|
arm_func_end LogMessage
|
|
|
|
arm_func_start LogMessageById
|
|
LogMessageById: ; 0x0234B714
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r2
|
|
mov r0, r1
|
|
bl StringFromId
|
|
mov r1, r0
|
|
mov r0, r5
|
|
mov r2, r4
|
|
bl LogMessage
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end LogMessageById
|
|
|
|
arm_func_start ov29_0234B73C
|
|
ov29_0234B73C: ; 0x0234B73C
|
|
ldr r0, _0234B764 ; =MESSAGE_LOG_INFO
|
|
mvn r1, #1
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0xc00
|
|
ldrsb r0, [r0, #0xec]
|
|
cmp r0, r1
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
and r0, r0, #0xff
|
|
bx lr
|
|
.align 2, 0
|
|
_0234B764: .word MESSAGE_LOG_INFO
|
|
arm_func_end ov29_0234B73C
|
|
|
|
arm_func_start ov29_0234B768
|
|
ov29_0234B768: ; 0x0234B768
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0234B7E8 ; =MESSAGE_LOG_INFO
|
|
mvn r1, #1
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0xc00
|
|
ldrsb r0, [r0, #0xec]
|
|
cmp r0, r1
|
|
movne r1, #1
|
|
moveq r1, #0
|
|
tst r1, #0xff
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl sub_0202836C
|
|
ldr r0, _0234B7E8 ; =MESSAGE_LOG_INFO
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0xc00
|
|
ldrsb r0, [r0, #0xec]
|
|
bl sub_02030214
|
|
ldr r0, _0234B7E8 ; =MESSAGE_LOG_INFO
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0xc00
|
|
ldrsb r0, [r0, #0xec]
|
|
bl CloseAlertBox
|
|
ldr r0, _0234B7E8 ; =MESSAGE_LOG_INFO
|
|
mvn r3, #1
|
|
ldr r1, [r0, #4]
|
|
mov r2, #0
|
|
strb r3, [r1, #0xcec]
|
|
ldr r1, [r0, #4]
|
|
mov r0, #1
|
|
str r2, [r1, #0xc98]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0234B7E8: .word MESSAGE_LOG_INFO
|
|
arm_func_end ov29_0234B768
|
|
|
|
arm_func_start AlertBoxIsScrolling
|
|
AlertBoxIsScrolling: ; 0x0234B7EC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0234B850 ; =MESSAGE_LOG_INFO
|
|
mvn r1, #1
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0xc00
|
|
ldrsb r0, [r0, #0xec]
|
|
cmp r0, r1
|
|
movne r1, #1
|
|
moveq r1, #0
|
|
tst r1, #0xff
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r1, _0234B850 ; =MESSAGE_LOG_INFO
|
|
ldr r1, [r1, #4]
|
|
add r1, r1, #0xc00
|
|
ldrsh r2, [r1, #0x8c]
|
|
ldrsh r1, [r1, #0x8e]
|
|
cmp r2, r1
|
|
bne _0234B848
|
|
bl IsAlertBoxActive
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
_0234B848:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0234B850: .word MESSAGE_LOG_INFO
|
|
arm_func_end AlertBoxIsScrolling
|
|
|
|
arm_func_start ov29_0234B854
|
|
ov29_0234B854: ; 0x0234B854
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r0, _0234BA14 ; =MESSAGE_LOG_INFO
|
|
ldr r1, [r0, #4]
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldrb r0, [r1, #0xced]
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
strne r0, [r1, #0xc98]
|
|
ldr r0, _0234BA14 ; =MESSAGE_LOG_INFO
|
|
ldr r4, [r0, #4]
|
|
ldr r0, [r4, #0xc98]
|
|
cmp r0, #0
|
|
beq _0234B9C8
|
|
cmp r0, #1
|
|
beq _0234B8A0
|
|
cmp r0, #2
|
|
beq _0234B908
|
|
b _0234B9C8
|
|
_0234B8A0:
|
|
bl ov10_022BFD20
|
|
cmp r0, #0
|
|
bne _0234B9C8
|
|
#ifndef JAPAN
|
|
bl sub_02001808
|
|
cmp r0, #0x3000
|
|
blt _0234B9C8
|
|
#endif
|
|
ldr r0, _0234BA14 ; =MESSAGE_LOG_INFO
|
|
mvn r1, #1
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0xc00
|
|
ldrsb r0, [r0, #0xec]
|
|
cmp r0, r1
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
tst r0, #0xff
|
|
bne _0234B900
|
|
mov r0, #0
|
|
bl CreateAlertBox
|
|
ldr r1, _0234BA14 ; =MESSAGE_LOG_INFO
|
|
mov r2, #0
|
|
ldr r3, [r1, #4]
|
|
strb r0, [r3, #0xcec]
|
|
ldr r0, [r1, #4]
|
|
str r2, [r0, #0xce8]
|
|
_0234B900:
|
|
mov r0, #2
|
|
str r0, [r4, #0xc98]
|
|
_0234B908:
|
|
ldr r0, _0234BA14 ; =MESSAGE_LOG_INFO
|
|
mvn r2, #1
|
|
ldr r1, [r0, #4]
|
|
add r0, r1, #0xc00
|
|
ldrsb r0, [r0, #0xec]
|
|
cmp r0, r2
|
|
movne r2, #1
|
|
moveq r2, #0
|
|
tst r2, #0xff
|
|
moveq r0, #1
|
|
beq _0234B9BC
|
|
ldr r3, _0234BA14 ; =MESSAGE_LOG_INFO
|
|
mov r2, #0x140
|
|
ldr r5, [r3, #4]
|
|
add r3, r5, #0xc00
|
|
ldrsh ip, [r3, #0x8e]
|
|
ldrsh r3, [r3, #0x8c]
|
|
smulbb lr, ip, r2
|
|
cmp r3, ip
|
|
bne _0234B96C
|
|
bl AlertBoxIsScrolling
|
|
cmp r0, #0
|
|
bne _0234B9B8
|
|
mov r0, #1
|
|
b _0234B9BC
|
|
_0234B96C:
|
|
add r2, r5, ip
|
|
ldrb ip, [r2, #0xc80]
|
|
add r1, r1, #0x9c
|
|
add r3, r1, #0xc00
|
|
add r2, r5, lr
|
|
mov r1, #0x400
|
|
str ip, [sp]
|
|
bl AddMessageToAlertBox
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
beq _0234B9BC
|
|
add r0, r5, #0xc00
|
|
ldrsh r1, [r0, #0x8e]
|
|
add r1, r1, #1
|
|
strh r1, [r0, #0x8e]
|
|
ldrsh r1, [r0, #0x8e]
|
|
cmp r1, #0xa
|
|
moveq r1, #0
|
|
streqh r1, [r0, #0x8e]
|
|
_0234B9B8:
|
|
mov r0, #0
|
|
_0234B9BC:
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
strne r0, [r4, #0xc98]
|
|
_0234B9C8:
|
|
ldrb r0, [r4, #0xc8a]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
add r0, r4, #0xc00
|
|
ldrsh r1, [r0, #0x90]
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
sub r1, r1, #1
|
|
strh r1, [r0, #0x90]
|
|
ldrsh r0, [r0, #0x90]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
mov r0, #0
|
|
str r0, [r4, #0xc98]
|
|
bl ov29_0234B768
|
|
mov r0, #0
|
|
mov r1, r0
|
|
bl ov29_022EA428
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0234BA14: .word MESSAGE_LOG_INFO
|
|
arm_func_end ov29_0234B854
|
|
|
|
arm_func_start WaitUntilAlertBoxTextIsLoaded
|
|
WaitUntilAlertBoxTextIsLoaded: ; 0x0234BA18
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r1, _0234BA50 ; =MESSAGE_LOG_INFO
|
|
mov r5, r0
|
|
ldr r4, [r1, #4]
|
|
_0234BA28:
|
|
ldr r0, [r4, #0xc98]
|
|
cmp r0, #0
|
|
bne _0234BA40
|
|
bl AlertBoxIsScrolling
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
_0234BA40:
|
|
mov r0, r5
|
|
bl AdvanceFrame
|
|
b _0234BA28
|
|
_0234BA4C:
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0234BA50: .word MESSAGE_LOG_INFO
|
|
arm_func_end WaitUntilAlertBoxTextIsLoaded
|
|
|
|
arm_func_start ov29_0234BA54
|
|
ov29_0234BA54: ; 0x0234BA54
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
ldr r1, _0234BAB8 ; =MESSAGE_LOG_INFO
|
|
mov r5, r0
|
|
ldr r6, [r1, #4]
|
|
bl WaitUntilAlertBoxTextIsLoaded
|
|
mov r4, #0
|
|
add r6, r6, #0xc00
|
|
ldr r7, _0234BABC ; =DUNGEON_BUTTON_INPUT
|
|
b _0234BAAC
|
|
_0234BA78:
|
|
ldrsh r0, [r6, #0x90]
|
|
cmp r0, #0xb4
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldrh r0, [r7]
|
|
and r0, r0, #3
|
|
cmp r0, #3
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldrh r0, [r7, #2]
|
|
tst r0, #0xf0
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r0, r5
|
|
bl AdvanceFrame
|
|
add r4, r4, #1
|
|
_0234BAAC:
|
|
cmp r4, #0xf0
|
|
blt _0234BA78
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0234BAB8: .word MESSAGE_LOG_INFO
|
|
_0234BABC: .word DUNGEON_BUTTON_INPUT
|
|
arm_func_end ov29_0234BA54
|
|
|
|
arm_func_start InitPortraitDungeon
|
|
InitPortraitDungeon: ; 0x0234BAC0
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r5, r1
|
|
mov r4, r2
|
|
bl InitPortraitParams
|
|
strh r5, [r6]
|
|
strb r4, [r6, #2]
|
|
mov r2, #0
|
|
strb r2, [r6, #3]
|
|
mov r0, #2
|
|
str r0, [r6, #4]
|
|
mov r0, #9
|
|
str r0, [r6, #8]
|
|
strb r2, [r6, #0xc]
|
|
strb r2, [r6, #0xd]
|
|
mov r0, r6
|
|
mov r1, #1
|
|
strb r2, [r6, #0xe]
|
|
bl AllowPortraitDefault
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end InitPortraitDungeon
|
|
|
|
arm_func_start ov29_0234BB10
|
|
ov29_0234BB10: ; 0x0234BB10
|
|
ldr ip, _0234BB1C ; =sub_02047FFC
|
|
mov r0, #0
|
|
bx ip
|
|
.align 2, 0
|
|
_0234BB1C: .word sub_02047FFC
|
|
arm_func_end ov29_0234BB10
|
|
|
|
arm_func_start ov29_0234BB20
|
|
ov29_0234BB20: ; 0x0234BB20
|
|
ldr ip, _0234BB28 ; =sub_0204804C
|
|
bx ip
|
|
.align 2, 0
|
|
_0234BB28: .word sub_0204804C
|
|
arm_func_end ov29_0234BB20
|
|
|
|
arm_func_start ov29_0234BB2C
|
|
ov29_0234BB2C: ; 0x0234BB2C
|
|
ldr ip, _0234BB34 ; =sub_020480CC
|
|
bx ip
|
|
.align 2, 0
|
|
_0234BB34: .word sub_020480CC
|
|
arm_func_end ov29_0234BB2C
|
|
|
|
arm_func_start ov29_0234BB38
|
|
ov29_0234BB38: ; 0x0234BB38
|
|
ldr ip, _0234BB40 ; =sub_02048134
|
|
bx ip
|
|
.align 2, 0
|
|
_0234BB40: .word sub_02048134
|
|
arm_func_end ov29_0234BB38
|
|
|
|
arm_func_start ov29_0234BB44
|
|
ov29_0234BB44: ; 0x0234BB44
|
|
ldr ip, _0234BB4C ; =sub_02048150
|
|
bx ip
|
|
.align 2, 0
|
|
_0234BB4C: .word sub_02048150
|
|
arm_func_end ov29_0234BB44
|
|
|
|
arm_func_start ov29_0234BB50
|
|
ov29_0234BB50: ; 0x0234BB50
|
|
ldr ip, _0234BB58 ; =sub_02048240
|
|
bx ip
|
|
.align 2, 0
|
|
_0234BB58: .word sub_02048240
|
|
arm_func_end ov29_0234BB50
|
|
|
|
arm_func_start OpenMessageLog
|
|
OpenMessageLog: ; 0x0234BB5C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r4, r0
|
|
mov r6, r1
|
|
mov r0, #6
|
|
mov r1, #0
|
|
bl ov29_022EA428
|
|
cmp r4, #0
|
|
bne _0234BB84
|
|
mov r0, #0
|
|
bl ov29_0233A248
|
|
_0234BB84:
|
|
mov r0, #0x62
|
|
bl AdvanceFrame
|
|
mov r0, #0x62
|
|
bl AdvanceFrame
|
|
bl sub_0204833C
|
|
mov r4, #0x62
|
|
_0234BB9C:
|
|
mov r0, r4
|
|
bl AdvanceFrame
|
|
bl sub_02048360
|
|
movs r5, r0
|
|
beq _0234BB9C
|
|
mov r0, #0x62
|
|
bl AdvanceFrame
|
|
cmp r6, #0
|
|
beq _0234BBCC
|
|
mov r0, #0
|
|
mov r1, r0
|
|
bl ov29_022EA428
|
|
_0234BBCC:
|
|
cmp r5, #1
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end OpenMessageLog
|
|
|
|
arm_func_start ov29_0234BBDC
|
|
ov29_0234BBDC: ; 0x0234BBDC
|
|
ldr ip, _0234BBE4 ; =ov29_022E0B60
|
|
bx ip
|
|
.align 2, 0
|
|
_0234BBE4: .word ov29_022E0B60
|
|
arm_func_end ov29_0234BBDC
|