mirror of
https://github.com/pret/pmd-sky.git
synced 2026-03-21 17:25:15 -05:00
Finished ov29 JP mismatches
This commit is contained in:
parent
ccb82ed26c
commit
a2c226ed9b
|
|
@ -127,6 +127,11 @@ _02344C48: .word ov29_023531CC
|
|||
|
||||
arm_func_start ov29_02344C4C
|
||||
ov29_02344C4C: ; 0x02344C4C
|
||||
#ifdef JAPAN
|
||||
#define OV29_02344C4C_OFFSET -0xA4
|
||||
#else
|
||||
#define OV29_02344C4C_OFFSET 0
|
||||
#endif
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
||||
sub sp, sp, #0x20
|
||||
mov sb, #0
|
||||
|
|
@ -152,7 +157,7 @@ ov29_02344C4C: ; 0x02344C4C
|
|||
ldr r1, [r1]
|
||||
ldr r2, _02344E84 ; =ov29_023531A0
|
||||
add r1, r1, #0x3f00
|
||||
strh r5, [r1, #0xc0]
|
||||
strh r5, [r1, #0xc0 + OV29_02344C4C_OFFSET]
|
||||
ldrh r3, [r2]
|
||||
ldrh r1, [r2, #2]
|
||||
mov r7, r0
|
||||
|
|
@ -268,15 +273,15 @@ _02344E40:
|
|||
ldr r0, _02344E7C ; =DUNGEON_PTR
|
||||
ldr r0, [r0]
|
||||
add r0, r0, #0x3f00
|
||||
ldrsh r2, [r0, #0xc0]
|
||||
ldrsh r1, [r0, #0xc2]
|
||||
ldrsh r2, [r0, #0xc0 + OV29_02344C4C_OFFSET]
|
||||
ldrsh r1, [r0, #0xc2 + OV29_02344C4C_OFFSET]
|
||||
add r1, r2, r1
|
||||
strh r1, [r0, #0xc0]
|
||||
strh r1, [r0, #0xc0 + OV29_02344C4C_OFFSET]
|
||||
add sp, sp, #0x20
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
.align 2, 0
|
||||
_02344E7C: .word DUNGEON_PTR
|
||||
_02344E80: .word 0x0002C9E8
|
||||
_02344E80: .word 0x0002C9E8 + OV29_02344C4C_OFFSET
|
||||
_02344E84: .word ov29_023531A0
|
||||
arm_func_end ov29_02344C4C
|
||||
|
||||
|
|
@ -741,16 +746,21 @@ _02345508:
|
|||
add sp, sp, #0x198
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
.align 2, 0
|
||||
#ifdef JAPAN
|
||||
#define TRY_LEADER_ITEM_PICK_UP_OFFSET -0x2C1
|
||||
#else
|
||||
#define TRY_LEADER_ITEM_PICK_UP_OFFSET 0
|
||||
#endif
|
||||
_02345510: .word ov29_023531BC
|
||||
_02345514: .word 0x00000BD2
|
||||
_02345518: .word 0x00000BD3
|
||||
_02345514: .word 0x00000BD2 + TRY_LEADER_ITEM_PICK_UP_OFFSET
|
||||
_02345518: .word 0x00000BD3 + TRY_LEADER_ITEM_PICK_UP_OFFSET
|
||||
_0234551C: .word 0x00001308
|
||||
_02345520: .word 0x00000BD6
|
||||
_02345520: .word 0x00000BD6 + TRY_LEADER_ITEM_PICK_UP_OFFSET
|
||||
_02345524: .word DUNGEON_PTR
|
||||
_02345528: .word 0x00001304
|
||||
_0234552C: .word 0x00000BD4
|
||||
_02345530: .word 0x00000BD5
|
||||
_02345534: .word 0x00000BD7
|
||||
_0234552C: .word 0x00000BD4 + TRY_LEADER_ITEM_PICK_UP_OFFSET
|
||||
_02345530: .word 0x00000BD5 + TRY_LEADER_ITEM_PICK_UP_OFFSET
|
||||
_02345534: .word 0x00000BD7 + TRY_LEADER_ITEM_PICK_UP_OFFSET
|
||||
arm_func_end TryLeaderItemPickUp
|
||||
|
||||
arm_func_start SpawnItem
|
||||
|
|
@ -830,7 +840,11 @@ _02345648:
|
|||
ldr r0, [r5]
|
||||
add r0, r0, r6, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
#ifdef JAPAN
|
||||
ldr r0, [r0, #0xb24]
|
||||
#else
|
||||
ldr r0, [r0, #0xbc8]
|
||||
#endif
|
||||
bl EntityIsValid__02345698
|
||||
cmp r0, #0
|
||||
addne r4, r6, #1
|
||||
|
|
@ -840,7 +854,11 @@ _02345648:
|
|||
ldr r0, _02345694 ; =DUNGEON_PTR
|
||||
ldr r0, [r0]
|
||||
add r0, r0, #0x3f00
|
||||
#ifdef JAPAN
|
||||
strh r4, [r0, #0x1c]
|
||||
#else
|
||||
strh r4, [r0, #0xc0]
|
||||
#endif
|
||||
bl RemoveEmptyItemsInBag
|
||||
#ifdef EUROPE
|
||||
mov r0, #0
|
||||
|
|
|
|||
|
|
@ -61,7 +61,11 @@ _02345784:
|
|||
ldr r0, [r5]
|
||||
add r0, r0, r7, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
#ifdef JAPAN
|
||||
ldr r0, [r0, #0xb24]
|
||||
#else
|
||||
ldr r0, [r0, #0xbc8]
|
||||
#endif
|
||||
bl EntityIsValid__02345698
|
||||
cmp r0, #0
|
||||
addne r4, r7, #1
|
||||
|
|
@ -72,7 +76,11 @@ _02345784:
|
|||
mov r0, #1
|
||||
ldr r1, [r1]
|
||||
add r1, r1, #0x3f00
|
||||
#ifdef JAPAN
|
||||
strh r4, [r1, #0x1c]
|
||||
#else
|
||||
strh r4, [r1, #0xc0]
|
||||
#endif
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_023457C4: .word DUNGEON_PTR
|
||||
|
|
@ -115,7 +123,11 @@ _02345830:
|
|||
add r0, r2, #0x1a000
|
||||
ldr sl, [r7, #0x10]
|
||||
ldr sb, [r7, #0x1c]
|
||||
#ifdef JAPAN
|
||||
ldr r0, [r0, #0x18c]
|
||||
#else
|
||||
ldr r0, [r0, #0x230]
|
||||
#endif
|
||||
rsb r8, r1, sl, asr #8
|
||||
add r8, r0, r8
|
||||
sub sb, sl, sb
|
||||
|
|
@ -237,7 +249,11 @@ _02345A18:
|
|||
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
||||
.align 2, 0
|
||||
_02345A20: .word DUNGEON_PTR
|
||||
#ifdef JAPAN
|
||||
_02345A24: .word 0x0001A180
|
||||
#else
|
||||
_02345A24: .word 0x0001A224
|
||||
#endif
|
||||
_02345A28: .word ov29_0237C864
|
||||
_02345A2C: .word ov29_023537BC
|
||||
_02345A30: .word ov29_023537B4
|
||||
|
|
@ -467,14 +483,19 @@ _02345D5C:
|
|||
add sp, sp, #0x10
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
.align 2, 0
|
||||
_02345D64: .word 0x00000BD8
|
||||
#ifdef JAPAN
|
||||
#define SPAWN_DROPPED_ITEM_OFFSET -0x2C1
|
||||
#else
|
||||
#define SPAWN_DROPPED_ITEM_OFFSET 0
|
||||
#endif
|
||||
_02345D64: .word 0x00000BD8 + SPAWN_DROPPED_ITEM_OFFSET
|
||||
_02345D68: .word DISPLACEMENTS_WITHIN_2_SMALLEST_FIRST
|
||||
_02345D6C: .word ov29_023531BC
|
||||
_02345D70: .word 0x00000BD9
|
||||
_02345D74: .word 0x00000BDA
|
||||
_02345D78: .word 0x00000BDB
|
||||
_02345D7C: .word 0x00000BDF
|
||||
_02345D80: .word 0x00000BDC
|
||||
_02345D70: .word 0x00000BD9 + SPAWN_DROPPED_ITEM_OFFSET
|
||||
_02345D74: .word 0x00000BDA + SPAWN_DROPPED_ITEM_OFFSET
|
||||
_02345D78: .word 0x00000BDB + SPAWN_DROPPED_ITEM_OFFSET
|
||||
_02345D7C: .word 0x00000BDF + SPAWN_DROPPED_ITEM_OFFSET
|
||||
_02345D80: .word 0x00000BDC + SPAWN_DROPPED_ITEM_OFFSET
|
||||
arm_func_end SpawnDroppedItem
|
||||
|
||||
arm_func_start ov29_02345D84
|
||||
|
|
@ -492,7 +513,11 @@ ov29_02345D84: ; 0x02345D84
|
|||
ldr r0, [r0]
|
||||
ldr r1, _0234604C ; =SECONDARY_TERRAIN_TYPES
|
||||
add r0, r0, #0x4000
|
||||
#ifdef JAPAN
|
||||
ldrsh r0, [r0, #0x30]
|
||||
#else
|
||||
ldrsh r0, [r0, #0xd4]
|
||||
#endif
|
||||
mov r7, r4
|
||||
mov r8, r4
|
||||
ldrb r0, [r1, r0]
|
||||
|
|
@ -558,7 +583,11 @@ _02345E90:
|
|||
add r0, r3, #0x1a000
|
||||
add r2, r2, #4
|
||||
add r1, r1, #4
|
||||
#ifdef JAPAN
|
||||
ldrb fp, [r0, #0x1a1]
|
||||
#else
|
||||
ldrb fp, [r0, #0x245]
|
||||
#endif
|
||||
mov r5, #0x10000
|
||||
mov r7, r2, lsl #8
|
||||
mov r8, r1, lsl #8
|
||||
|
|
@ -672,8 +701,13 @@ _02346048: .word DUNGEON_PTR
|
|||
_0234604C: .word SECONDARY_TERRAIN_TYPES
|
||||
_02346050: .word DISPLACEMENTS_WITHIN_3
|
||||
_02346054: .word ov29_023531BC
|
||||
#ifdef JAPAN
|
||||
_02346058: .word 0x00000885
|
||||
_0234605C: .word 0x00000886
|
||||
#else
|
||||
_02346058: .word 0x00000B74
|
||||
_0234605C: .word 0x00000B75
|
||||
#endif
|
||||
arm_func_end ov29_02345D84
|
||||
|
||||
arm_func_start TryGenerateUnownStoneDrop
|
||||
|
|
@ -1092,7 +1126,11 @@ _0234662C:
|
|||
ldr r0, [r0]
|
||||
mov fp, r6
|
||||
add r0, r0, #0x1a000
|
||||
#ifdef JAPAN
|
||||
ldrb r0, [r0, #0x1a1]
|
||||
#else
|
||||
ldrb r0, [r0, #0x245]
|
||||
#endif
|
||||
mov r5, r6
|
||||
str r0, [sp, #0x10]
|
||||
_0234664C:
|
||||
|
|
@ -1183,11 +1221,13 @@ _02346784:
|
|||
add r0, r6, r8, lsl #2
|
||||
mov r2, #1
|
||||
bl SpawnItem
|
||||
#ifndef JAPAN
|
||||
mov r0, r8, lsl #2
|
||||
add r1, r6, r8, lsl #2
|
||||
ldrsh r0, [r6, r0]
|
||||
ldrsh r1, [r1, #2]
|
||||
bl DrawMinimapTile
|
||||
#endif
|
||||
add r0, r4, #1
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r4, r0, asr #0x10
|
||||
|
|
@ -1202,10 +1242,15 @@ _023467C4:
|
|||
add sp, sp, #0x400
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
.align 2, 0
|
||||
_023467D0: .word 0x00000BDD
|
||||
#ifdef JAPAN
|
||||
#define OV29_02346344_OFFSET -0x2C1
|
||||
#else
|
||||
#define OV29_02346344_OFFSET 0
|
||||
#endif
|
||||
_023467D0: .word 0x00000BDD + OV29_02346344_OFFSET
|
||||
_023467D4: .word ov29_023531BC
|
||||
_023467D8: .word 0x00000BDC
|
||||
_023467DC: .word 0x00000BDE
|
||||
_023467D8: .word 0x00000BDC + OV29_02346344_OFFSET
|
||||
_023467DC: .word 0x00000BDE + OV29_02346344_OFFSET
|
||||
_023467E0: .word DUNGEON_PTR
|
||||
arm_func_end ov29_02346344
|
||||
|
||||
|
|
@ -1279,9 +1324,15 @@ ov29_02346888: ; 0x02346888
|
|||
cmp r1, #1
|
||||
cmpeq r4, #0
|
||||
bne _023468F0
|
||||
#ifdef JAPAN
|
||||
ldr r1, _02347CAC ; =0x0000091F
|
||||
mov r2, r0
|
||||
mov r3, r0
|
||||
#else
|
||||
mov r2, r0
|
||||
mov r3, r0
|
||||
mov r1, #0xbe0
|
||||
#endif
|
||||
str r0, [sp]
|
||||
bl YesNoMenu
|
||||
cmp r0, #1
|
||||
|
|
@ -1294,6 +1345,9 @@ _023468F0:
|
|||
ldmia sp!, {r3, r4, pc}
|
||||
.align 2, 0
|
||||
_023468F8: .word DUNGEON_PTR
|
||||
#ifdef JAPAN
|
||||
_02347CAC: .word 0x0000091F
|
||||
#endif
|
||||
arm_func_end ov29_02346888
|
||||
|
||||
arm_func_start ov29_023468FC
|
||||
|
|
@ -1322,7 +1376,11 @@ _0234694C:
|
|||
ldr r0, [r4]
|
||||
add r0, r0, r7, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
#ifdef JAPAN
|
||||
ldr sl, [r0, #0xa84]
|
||||
#else
|
||||
ldr sl, [r0, #0xb28]
|
||||
#endif
|
||||
mov r0, sl
|
||||
bl EntityIsValid__02345698
|
||||
cmp r0, #0
|
||||
|
|
@ -1416,7 +1474,11 @@ _02346A78:
|
|||
ldr r0, [r5]
|
||||
add r0, r0, r4, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
#ifdef JAPAN
|
||||
ldr r8, [r0, #0xa84]
|
||||
#else
|
||||
ldr r8, [r0, #0xb28]
|
||||
#endif
|
||||
mov r0, r8
|
||||
bl EntityIsValid__02345698
|
||||
cmp r0, #0
|
||||
|
|
@ -1555,7 +1617,11 @@ _02346C54:
|
|||
ldr r0, [r6]
|
||||
add r0, r0, r4, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
#ifdef JAPAN
|
||||
ldr sb, [r0, #0xa84]
|
||||
#else
|
||||
ldr sb, [r0, #0xb28]
|
||||
#endif
|
||||
mov r0, sb
|
||||
bl EntityIsValid__02345698
|
||||
cmp r0, #0
|
||||
|
|
@ -1703,7 +1769,13 @@ _02346E30:
|
|||
arm_func_start ov29_02346E48
|
||||
ov29_02346E48: ; 0x02346E48
|
||||
stmdb sp!, {r3, lr}
|
||||
#ifdef JAPAN
|
||||
bl IsMarowakTrainingMaze
|
||||
cmp r0, #0
|
||||
beq _02348210
|
||||
#endif
|
||||
bl ov29_02346CBC
|
||||
_02348210:
|
||||
bl sub_02057CE8
|
||||
bl CleanStickyItemsInBag
|
||||
ldmia sp!, {r3, pc}
|
||||
|
|
@ -1746,10 +1818,27 @@ ov29_02346EBC: ; 0x02346EBC
|
|||
cmp r1, #0
|
||||
bne _02346F04
|
||||
ldr r1, _02346F0C ; =DUNGEON_PTR
|
||||
#ifdef JAPAN
|
||||
mov ip, #0
|
||||
#else
|
||||
mov r3, #0
|
||||
#endif
|
||||
ldr r1, [r1]
|
||||
add r1, r1, #0x3f4
|
||||
add r2, r1, #0x400
|
||||
#ifdef JAPAN
|
||||
mov r1, #0x23c
|
||||
b _023482BC
|
||||
_02346EE0:
|
||||
mla r3, ip, r1, r2
|
||||
cmp r3, r0
|
||||
ldreq r0, _02346F10 ; =ov29_023531C8
|
||||
ldreqb r0, [r0, ip]
|
||||
bxeq lr
|
||||
add ip, ip, #1
|
||||
_023482BC:
|
||||
cmp ip, #4
|
||||
#else
|
||||
b _02346EFC
|
||||
_02346EE0:
|
||||
add r1, r3, r3, lsl #3
|
||||
|
|
@ -1761,6 +1850,7 @@ _02346EE0:
|
|||
add r3, r3, #1
|
||||
_02346EFC:
|
||||
cmp r3, #4
|
||||
#endif
|
||||
blt _02346EE0
|
||||
_02346F04:
|
||||
mov r0, #0
|
||||
|
|
@ -1822,10 +1912,30 @@ _02346FB4: .word BAG_ITEMS_PTR_MIRROR
|
|||
arm_func_start ov29_02346FB8
|
||||
ov29_02346FB8: ; 0x02346FB8
|
||||
ldr r1, _02346FFC ; =DUNGEON_PTR
|
||||
#ifdef JAPAN
|
||||
mov ip, #0
|
||||
#else
|
||||
mov r3, #0
|
||||
#endif
|
||||
ldr r1, [r1]
|
||||
add r1, r1, #0x56
|
||||
add r2, r1, #0x800
|
||||
#ifdef JAPAN
|
||||
mov r1, #0x23c
|
||||
b _023483A4
|
||||
_02348394:
|
||||
mla r3, ip, r1, r2
|
||||
cmp r3, r0
|
||||
beq _023483AC
|
||||
add ip, ip, #1
|
||||
_023483A4:
|
||||
cmp ip, #4
|
||||
blt _02348394
|
||||
_023483AC:
|
||||
cmp ip, #4
|
||||
mvneq r0, #0
|
||||
movne r0, ip
|
||||
#else
|
||||
b _02346FE4
|
||||
_02346FD0:
|
||||
add r1, r3, r3, lsl #3
|
||||
|
|
@ -1840,6 +1950,7 @@ _02346FEC:
|
|||
cmp r3, #4
|
||||
mvneq r0, #0
|
||||
movne r0, r3
|
||||
#endif
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_02346FFC: .word DUNGEON_PTR
|
||||
|
|
@ -1900,7 +2011,11 @@ _0234705C:
|
|||
ldr r0, [r5]
|
||||
add r0, r0, r1, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
#ifdef JAPAN
|
||||
ldr sb, [r0, #0xa80]
|
||||
#else
|
||||
ldr sb, [r0, #0xb24]
|
||||
#endif
|
||||
mov r0, sb
|
||||
bl EntityIsValid__02345698
|
||||
cmp r0, #0
|
||||
|
|
@ -2032,6 +2147,23 @@ _02347224:
|
|||
mov r0, r1, lsl #0x10
|
||||
add r1, sp, #0
|
||||
mov r0, r0, asr #0x10
|
||||
#ifdef JAPAN
|
||||
ldr r4, [r1, r0, lsl #2]
|
||||
ldrb r0, [r4]
|
||||
orr r0, r0, #8
|
||||
strb r0, [r4]
|
||||
ldrb r0, [r4, #1]
|
||||
cmp r0, #0
|
||||
beq _023472B4
|
||||
sub r2, r0, #1
|
||||
mov r0, #0x23c
|
||||
ldr r1, _023472C0 ; =DUNGEON_PTR
|
||||
mul r3, r2, r0
|
||||
ldr r0, [r1]
|
||||
add r0, r0, #0x56
|
||||
add r1, r0, #0x800
|
||||
ldrb r0, [r1, r3]
|
||||
#else
|
||||
ldr r3, [r1, r0, lsl #2]
|
||||
ldrb r0, [r3]
|
||||
orr r0, r0, #8
|
||||
|
|
@ -2047,15 +2179,24 @@ _02347224:
|
|||
add r2, r0, #0x800
|
||||
ldrb r0, [r2, r1, lsl #6]
|
||||
mov r1, r1, lsl #6
|
||||
#endif
|
||||
tst r0, #1
|
||||
movne r0, #1
|
||||
moveq r0, #0
|
||||
tst r0, #0xff
|
||||
#ifdef JAPAN
|
||||
ldrneb r0, [r1, r3]
|
||||
orrne r0, r0, #8
|
||||
strneb r0, [r1, r3]
|
||||
_023472B4:
|
||||
ldrsh r0, [r4, #4]
|
||||
#else
|
||||
ldrneb r0, [r2, r1]
|
||||
orrne r0, r0, #8
|
||||
strneb r0, [r2, r1]
|
||||
_023472B4:
|
||||
ldrsh r0, [r3, #4]
|
||||
#endif
|
||||
_023472B8:
|
||||
add sp, sp, #0xc8
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
|
|
@ -2083,7 +2224,11 @@ GenerateItem: ; 0x023472C4
|
|||
ldr r1, _02347374 ; =DUNGEON_PTR
|
||||
ldr r1, [r1]
|
||||
add r1, r1, #0x28000
|
||||
#ifdef JAPAN
|
||||
ldrb r1, [r1, #0x618]
|
||||
#else
|
||||
ldrb r1, [r1, #0x6bc]
|
||||
#endif
|
||||
cmp r0, r1
|
||||
movlt r6, #1
|
||||
b _02347324
|
||||
|
|
@ -2104,7 +2249,11 @@ _02347324:
|
|||
ldr r0, [r1, #0x7cc]
|
||||
cmp r0, #0
|
||||
add r0, r1, #0x28000
|
||||
#ifdef JAPAN
|
||||
ldrb r2, [r0, #0x625]
|
||||
#else
|
||||
ldrb r2, [r0, #0x6c9]
|
||||
#endif
|
||||
moveq r3, #5
|
||||
movne r3, #0x28
|
||||
mul r1, r2, r3
|
||||
|
|
@ -2124,11 +2273,19 @@ ov29_02347378: ; 0x02347378
|
|||
ldr r0, [r3]
|
||||
cmp r2, #0
|
||||
add r0, r0, #0x1a000
|
||||
#ifdef JAPAN
|
||||
ldrb fp, [r0, #0x1a1]
|
||||
#else
|
||||
ldrb fp, [r0, #0x245]
|
||||
#endif
|
||||
beq _023473B0
|
||||
cmp r2, #0
|
||||
beq _023473B8
|
||||
#ifdef JAPAN
|
||||
ldrb r0, [r0, #0x19a]
|
||||
#else
|
||||
ldrb r0, [r0, #0x23e]
|
||||
#endif
|
||||
cmp r0, #0
|
||||
bne _023473B8
|
||||
_023473B0:
|
||||
|
|
@ -2240,7 +2397,11 @@ ov29_02347518: ; 0x02347518
|
|||
ldr r4, [r4]
|
||||
mov r6, #3
|
||||
add r0, r4, #0x1a000
|
||||
#ifdef JAPAN
|
||||
ldrb r0, [r0, #0x1a1]
|
||||
#else
|
||||
ldrb r0, [r0, #0x245]
|
||||
#endif
|
||||
mov r5, #0
|
||||
mov sb, r3
|
||||
str r0, [sp, #0x20]
|
||||
|
|
@ -2252,6 +2413,16 @@ ov29_02347518: ; 0x02347518
|
|||
mov r0, r1
|
||||
str r0, [r4, #0x180]
|
||||
str r5, [r4, #0xe8]
|
||||
#ifdef JAPAN
|
||||
ldrh r5, [r2]
|
||||
str r1, [sp, #8]
|
||||
mov r1, #0x18
|
||||
strh r5, [r4, #0xd0]
|
||||
ldrh r5, [r2, #2]
|
||||
add r0, r4, #0xcc
|
||||
ldr r8, [sp, #0x270]
|
||||
strh r5, [r4, #0xd2]
|
||||
#else
|
||||
ldrh r6, [r2]
|
||||
str r1, [sp, #8]
|
||||
mov r1, #0x18
|
||||
|
|
@ -2260,6 +2431,7 @@ ov29_02347518: ; 0x02347518
|
|||
add r0, r4, #0xcc
|
||||
ldr r8, [sp, #0x270]
|
||||
strh r6, [r4, #0xd2]
|
||||
#endif
|
||||
ldrsh r3, [r2]
|
||||
ldrsh r2, [r2, #2]
|
||||
smulbb r3, r3, r1
|
||||
|
|
@ -2268,7 +2440,11 @@ ov29_02347518: ; 0x02347518
|
|||
mov r1, r1, lsl #8
|
||||
mov r2, r2, lsl #8
|
||||
bl ov29_022E1A84
|
||||
#ifdef JAPAN
|
||||
mov r0, #0
|
||||
#else
|
||||
mov r0, r5
|
||||
#endif
|
||||
str r0, [sp, #0x1c]
|
||||
strh r0, [r4, #0xf2]
|
||||
ldr r0, [sl]
|
||||
|
|
@ -2281,10 +2457,16 @@ ov29_02347518: ; 0x02347518
|
|||
movne r0, #1
|
||||
strne r0, [sp, #0x1c]
|
||||
_023475D4:
|
||||
#ifdef JAPAN
|
||||
mov r0, #1
|
||||
ldrsh fp, [r8, #2]
|
||||
mov r5, #0
|
||||
#else
|
||||
ldrsh r1, [r8, #2]
|
||||
mov r0, #1
|
||||
mov r6, #0
|
||||
str r1, [sp, #0x24]
|
||||
#endif
|
||||
bl ov29_0234B4CC
|
||||
_023475E8:
|
||||
ldrh r2, [r4, #0xd0]
|
||||
|
|
@ -2300,23 +2482,48 @@ _023475E8:
|
|||
ldr r1, _02347B40 ; =DIRECTIONS_XY
|
||||
mov r2, sb, lsl #2
|
||||
add r0, r1, sb, lsl #2
|
||||
#ifdef JAPAN
|
||||
ldrsh r6, [r4, #0xd0]
|
||||
#else
|
||||
ldrsh r7, [r4, #0xd0]
|
||||
#endif
|
||||
ldrsh r3, [r1, r2]
|
||||
ldrsh r2, [r4, #0xd2]
|
||||
ldrsh r1, [r0, #2]
|
||||
#ifdef JAPAN
|
||||
add r0, r6, r3
|
||||
#else
|
||||
add r0, r7, r3
|
||||
#endif
|
||||
add r1, r2, r1
|
||||
bl GetTile
|
||||
ldrh r0, [r0]
|
||||
tst r0, #3
|
||||
bne _023476BC
|
||||
ldrsh r0, [sp, #0x46]
|
||||
#ifdef JAPAN
|
||||
mov r6, #0
|
||||
#else
|
||||
mov r7, #0
|
||||
#endif
|
||||
str r0, [sp, #0x10]
|
||||
ldrsh r0, [sp, #0x44]
|
||||
str r0, [sp, #0xc]
|
||||
ldr r0, _02347B44 ; =ov29_023516FC
|
||||
add r0, r0, sb, lsl #2
|
||||
#ifdef JAPAN
|
||||
str r0, [sp, #0x24]
|
||||
b _023476B4
|
||||
_02347668:
|
||||
ldr r0, [sp, #0x24]
|
||||
ldrb r7, [r6, r0]
|
||||
cmp r7, #8
|
||||
bge _023476B0
|
||||
ldr r0, _02347B40 ; =DIRECTIONS_XY
|
||||
mov r1, r7, lsl #2
|
||||
ldrsh r1, [r0, r1]
|
||||
add r0, r0, r7, lsl #2
|
||||
#else
|
||||
str r0, [sp, #0x28]
|
||||
b _023476B4
|
||||
_02347668:
|
||||
|
|
@ -2328,6 +2535,7 @@ _02347668:
|
|||
mov r1, fp, lsl #2
|
||||
ldrsh r1, [r0, r1]
|
||||
add r0, r0, fp, lsl #2
|
||||
#endif
|
||||
ldrsh r2, [r0, #2]
|
||||
ldr r0, [sp, #0xc]
|
||||
add r0, r0, r1
|
||||
|
|
@ -2336,12 +2544,21 @@ _02347668:
|
|||
bl GetTile
|
||||
ldrh r0, [r0]
|
||||
tst r0, #3
|
||||
#ifdef JAPAN
|
||||
movne sb, r7
|
||||
bne _023476BC
|
||||
_023476B0:
|
||||
add r6, r6, #1
|
||||
_023476B4:
|
||||
cmp r6, #4
|
||||
#else
|
||||
movne sb, fp
|
||||
bne _023476BC
|
||||
_023476B0:
|
||||
add r7, r7, #1
|
||||
_023476B4:
|
||||
cmp r7, #4
|
||||
#endif
|
||||
blt _02347668
|
||||
_023476BC:
|
||||
mov r0, sb, lsl #0x10
|
||||
|
|
@ -2370,25 +2587,42 @@ _023476BC:
|
|||
cmplt r1, #0x20
|
||||
blt _02347728
|
||||
_02347720:
|
||||
#ifdef JAPAN
|
||||
mov r6, #2
|
||||
#else
|
||||
mov r7, #2
|
||||
#endif
|
||||
b _02347978
|
||||
_02347728:
|
||||
mov r2, sb, lsl #2
|
||||
add r1, r0, sb, lsl #2
|
||||
ldrsh r0, [r0, r2]
|
||||
ldrsh r1, [r1, #2]
|
||||
#ifdef JAPAN
|
||||
mov r6, #0
|
||||
#else
|
||||
mov r7, #0
|
||||
#endif
|
||||
mov r0, r0, lsl #0xa
|
||||
str r0, [sp, #0x14]
|
||||
and r0, sb, #0xff
|
||||
#ifdef JAPAN
|
||||
mov r7, r1, lsl #0xa
|
||||
str r0, [sp, #0x28]
|
||||
#else
|
||||
mov fp, r1, lsl #0xa
|
||||
str r0, [sp, #0x2c]
|
||||
#endif
|
||||
_02347750:
|
||||
mov r0, #0
|
||||
str r0, [sp, #0x18]
|
||||
ldr r1, [sp, #0x14]
|
||||
add r0, r4, #0xcc
|
||||
#ifdef JAPAN
|
||||
mov r2, r7
|
||||
#else
|
||||
mov r2, fp
|
||||
#endif
|
||||
bl ov29_022E1A90
|
||||
bl IsWaterTileset
|
||||
cmp r0, #0
|
||||
|
|
@ -2407,7 +2641,11 @@ _02347750:
|
|||
mov r0, #1
|
||||
str r0, [sp]
|
||||
ldr r1, [sp, #0x20]
|
||||
#ifdef JAPAN
|
||||
ldr r3, [sp, #0x28]
|
||||
#else
|
||||
ldr r3, [sp, #0x2c]
|
||||
#endif
|
||||
add r0, r4, #0xcc
|
||||
mov r2, #0
|
||||
bl ov29_023457C8
|
||||
|
|
@ -2420,30 +2658,52 @@ _02347750:
|
|||
mov r0, #0x12
|
||||
bl AdvanceFrame
|
||||
_023477DC:
|
||||
#ifdef JAPAN
|
||||
add r6, r6, #1
|
||||
cmp r6, #6
|
||||
#else
|
||||
add r7, r7, #1
|
||||
cmp r7, #6
|
||||
#endif
|
||||
blt _02347750
|
||||
ldrsh r0, [r4, #0xd0]
|
||||
ldrsh r1, [r4, #0xd2]
|
||||
bl GetTile
|
||||
#ifdef JAPAN
|
||||
mov r6, r0
|
||||
ldrh r0, [r6]
|
||||
#else
|
||||
mov r7, r0
|
||||
ldrh r0, [r7]
|
||||
#endif
|
||||
tst r0, #3
|
||||
ldreqb r0, [r8]
|
||||
cmpeq r0, #0
|
||||
bne _02347824
|
||||
ldrh r1, [sp, #0x44]
|
||||
ldrh r0, [sp, #0x46]
|
||||
#ifdef JAPAN
|
||||
mov r6, #1
|
||||
#else
|
||||
mov r7, #1
|
||||
#endif
|
||||
strh r1, [r4, #0xd0]
|
||||
strh r0, [r4, #0xd2]
|
||||
b _02347978
|
||||
_02347824:
|
||||
#ifdef JAPAN
|
||||
ldr r0, [r6, #0xc]
|
||||
#else
|
||||
ldr r0, [r7, #0xc]
|
||||
#endif
|
||||
cmp r0, #0
|
||||
beq _02347960
|
||||
ldrb r1, [r8]
|
||||
#ifdef JAPAN
|
||||
mov r7, #0
|
||||
#else
|
||||
mov fp, #0
|
||||
#endif
|
||||
cmp r1, #0
|
||||
ldreq r1, [r0]
|
||||
cmpeq r1, #1
|
||||
|
|
@ -2458,6 +2718,16 @@ _02347824:
|
|||
cmp r0, #0
|
||||
beq _02347870
|
||||
_0234786C:
|
||||
#ifdef JAPAN
|
||||
mov r7, #1
|
||||
_02347870:
|
||||
cmp r7, #0
|
||||
addne r0, sb, #4
|
||||
andne sb, r0, #7
|
||||
bne _02347960
|
||||
ldr r0, [r6, #0xc]
|
||||
mov r7, #1
|
||||
#else
|
||||
mov fp, #1
|
||||
_02347870:
|
||||
cmp fp, #0
|
||||
|
|
@ -2472,20 +2742,31 @@ _02347870:
|
|||
_02347894:
|
||||
ldr r0, [r7, #0xc]
|
||||
mov fp, #1
|
||||
#endif
|
||||
ldr r0, [r0]
|
||||
cmp r0, #1
|
||||
bne _0234791C
|
||||
add r0, sp, #0x34
|
||||
#ifdef JAPAN
|
||||
add r1, r7, #0x194
|
||||
bl InitMove
|
||||
ldr r0, [r6, #0xc]
|
||||
#else
|
||||
add r1, fp, #0x194
|
||||
bl InitMove
|
||||
ldr r0, [r7, #0xc]
|
||||
#endif
|
||||
add r1, sp, #0x34
|
||||
bl TwoTurnMoveForcedMiss
|
||||
cmp r0, #0
|
||||
ldr r0, [sp, #8]
|
||||
mov r1, #1
|
||||
ldrsh r0, [r0, #4]
|
||||
#ifdef JAPAN
|
||||
movne r7, #0
|
||||
#else
|
||||
movne fp, #0
|
||||
#endif
|
||||
bl TestItemAiFlag
|
||||
cmp r0, #0
|
||||
bne _0234791C
|
||||
|
|
@ -2500,10 +2781,31 @@ _02347894:
|
|||
cmp r0, #0
|
||||
beq _0234791C
|
||||
_02347908:
|
||||
#ifdef JAPAN
|
||||
ldr r1, [r6, #0xc]
|
||||
#else
|
||||
ldr r1, [r7, #0xc]
|
||||
#endif
|
||||
mov r0, sl
|
||||
bl ov29_022FAFD4
|
||||
cmp r0, #0
|
||||
#ifdef JAPAN
|
||||
movne r7, #0
|
||||
_0234791C:
|
||||
cmp r7, #0
|
||||
beq _02347960
|
||||
cmp r5, #0x40
|
||||
bge _02347950
|
||||
ldr r1, [r6, #0xc]
|
||||
add r2, sp, #0x48
|
||||
mov r0, sl
|
||||
str r1, [r2, r5, lsl #3]
|
||||
bl DoesProjectileHitTarget
|
||||
add r1, sp, #0x48
|
||||
add r1, r1, r5, lsl #3
|
||||
strb r0, [r1, #4]
|
||||
add r5, r5, #1
|
||||
#else
|
||||
movne fp, #0
|
||||
_0234791C:
|
||||
cmp fp, #0
|
||||
|
|
@ -2519,9 +2821,43 @@ _0234791C:
|
|||
add r1, r1, r6, lsl #3
|
||||
strb r0, [r1, #4]
|
||||
add r6, r6, #1
|
||||
#endif
|
||||
_02347950:
|
||||
ldrb r0, [r8]
|
||||
cmp r0, #0
|
||||
#ifdef JAPAN
|
||||
moveq r6, #0
|
||||
beq _02347978
|
||||
_02347960:
|
||||
sub fp, fp, #1
|
||||
cmp fp, #0
|
||||
bgt _023475E8
|
||||
mov r6, #1
|
||||
_02347978:
|
||||
mov r0, #0
|
||||
bl ov29_0234B4CC
|
||||
ldr r0, _02348EF8 ; =0x00000922
|
||||
mov fp, #0
|
||||
sub r0, r0, #1
|
||||
str r0, [sp, #0x2c]
|
||||
b _02347A94
|
||||
_02347988:
|
||||
add r0, sp, #0x48
|
||||
ldr r7, [r0, fp, lsl #3]
|
||||
cmp r7, #0
|
||||
moveq r0, #0
|
||||
beq _02348D5C
|
||||
ldr r0, [r7]
|
||||
cmp r0, #0
|
||||
movne r0, #1
|
||||
moveq r0, #0
|
||||
and r0, r0, #0xff
|
||||
_02348D5C:
|
||||
cmp r0, #0
|
||||
beq _02347A90
|
||||
add r0, sp, #0x48
|
||||
add r0, r0, fp, lsl #3
|
||||
#else
|
||||
moveq r7, #0
|
||||
beq _02347978
|
||||
_02347960:
|
||||
|
|
@ -2549,22 +2885,36 @@ _02347988:
|
|||
beq _02347A90
|
||||
add r0, sp, #0x48
|
||||
add r0, r0, r5, lsl #3
|
||||
#endif
|
||||
ldrb r0, [r0, #4]
|
||||
cmp r0, #0
|
||||
beq _02347A38
|
||||
mov r0, #0
|
||||
#ifdef JAPAN
|
||||
mov r1, r7
|
||||
#else
|
||||
mov r1, fp
|
||||
#endif
|
||||
mov r2, r0
|
||||
bl SubstitutePlaceholderStringTags
|
||||
ldr r1, [sp, #8]
|
||||
mov r0, #0
|
||||
bl ov29_02344B70
|
||||
#ifdef JAPAN
|
||||
mov r0, sl
|
||||
mov r1, r7
|
||||
mov r2, #0x920
|
||||
bl LogMessageByIdWithPopupCheckUserTarget
|
||||
mov r0, sl
|
||||
mov r1, r7
|
||||
#else
|
||||
ldr r2, _02347B48 ; =0x00000BE1
|
||||
mov r0, sl
|
||||
mov r1, fp
|
||||
bl LogMessageByIdWithPopupCheckUserTarget
|
||||
mov r0, sl
|
||||
mov r1, fp
|
||||
#endif
|
||||
bl ov29_02307BDC
|
||||
mov r2, r0
|
||||
ldr r0, [sp, #0x1c]
|
||||
|
|
@ -2576,39 +2926,70 @@ _02347988:
|
|||
moveq r0, #0
|
||||
and r1, r0, #0xff
|
||||
ldr r0, [sp, #8]
|
||||
#ifdef JAPAN
|
||||
str r7, [sp]
|
||||
#else
|
||||
str fp, [sp]
|
||||
#endif
|
||||
str r0, [sp, #4]
|
||||
mov r0, #1
|
||||
bl ApplyItemEffect
|
||||
b _02347A90
|
||||
_02347A38:
|
||||
ldrb r0, [r8]
|
||||
#ifdef JAPAN
|
||||
mov r1, r7
|
||||
cmp r0, #0
|
||||
mov r0, #0
|
||||
cmpeq r5, #1
|
||||
mov r2, r0
|
||||
moveq r6, #1
|
||||
#else
|
||||
mov r1, fp
|
||||
cmp r0, #0
|
||||
mov r0, #0
|
||||
cmpeq r6, #1
|
||||
mov r2, r0
|
||||
moveq r7, #1
|
||||
#endif
|
||||
bl SubstitutePlaceholderStringTags
|
||||
ldr r1, [sp, #8]
|
||||
mov r0, #0
|
||||
bl ov29_02344B44
|
||||
ldrb r0, [r8]
|
||||
#ifdef JAPAN
|
||||
mov r1, r7
|
||||
#else
|
||||
mov r1, fp
|
||||
ldr r2, _02347B48 ; =0x00000BE1
|
||||
#endif
|
||||
cmp r0, #0
|
||||
mov r0, sl
|
||||
beq _02347A88
|
||||
#ifdef JAPAN
|
||||
ldr r2, [sp, #0x2c]
|
||||
#else
|
||||
add r2, r2, #1
|
||||
#endif
|
||||
bl LogMessageByIdWithPopupCheckUserTarget
|
||||
b _02347A90
|
||||
_02347A88:
|
||||
#ifdef JAPAN
|
||||
ldr r2, _02348EF8 ; =0x00000922
|
||||
#else
|
||||
add r2, r2, #2
|
||||
#endif
|
||||
bl LogMessageByIdWithPopupCheckUserTarget
|
||||
_02347A90:
|
||||
#ifdef JAPAN
|
||||
add fp, fp, #1
|
||||
_02347A94:
|
||||
cmp fp, r5
|
||||
#else
|
||||
add r5, r5, #1
|
||||
_02347A94:
|
||||
cmp r5, r6
|
||||
#endif
|
||||
blt _02347988
|
||||
_02347A9C:
|
||||
mov r0, sb, lsl #0x10
|
||||
|
|
@ -2618,7 +2999,11 @@ _02347A9C:
|
|||
add r0, r1, r0, lsl #2
|
||||
ldrh r1, [r1, r2]
|
||||
ldrh r0, [r0, #2]
|
||||
#ifdef JAPAN
|
||||
cmp r6, #0
|
||||
#else
|
||||
cmp r7, #0
|
||||
#endif
|
||||
strh r1, [sp, #0x30]
|
||||
strh r0, [sp, #0x32]
|
||||
ldrsh r1, [sp, #0x30]
|
||||
|
|
@ -2628,9 +3013,15 @@ _02347A9C:
|
|||
strh r1, [sp, #0x40]
|
||||
strh r0, [sp, #0x42]
|
||||
beq _02347B34
|
||||
#ifdef JAPAN
|
||||
cmp r6, #1
|
||||
beq _02347AF4
|
||||
cmp r6, #2
|
||||
#else
|
||||
cmp r7, #1
|
||||
beq _02347AF4
|
||||
cmp r7, #2
|
||||
#endif
|
||||
beq _02347B1C
|
||||
b _02347B34
|
||||
_02347AF4:
|
||||
|
|
@ -2658,8 +3049,13 @@ _02347B34:
|
|||
_02347B3C: .word DUNGEON_PTR
|
||||
_02347B40: .word DIRECTIONS_XY
|
||||
_02347B44: .word ov29_023516FC
|
||||
#ifdef JAPAN
|
||||
_02348EF8: .word 0x00000922
|
||||
_02347B4C: .word 0x00000924
|
||||
#else
|
||||
_02347B48: .word 0x00000BE1
|
||||
_02347B4C: .word 0x00000BE5
|
||||
#endif
|
||||
arm_func_end ov29_02347518
|
||||
|
||||
arm_func_start ItemIsActive__02347B50
|
||||
|
|
@ -2686,7 +3082,11 @@ ExclusiveItemEffectIsActive__02347B80: ; 0x02347B80
|
|||
cmp r0, #0
|
||||
movne r0, #0
|
||||
ldmneia sp!, {r3, pc}
|
||||
#ifdef JAPAN
|
||||
add r0, r2, #0x224
|
||||
#else
|
||||
add r0, r2, #0x228
|
||||
#endif
|
||||
bl ExclusiveItemEffectFlagTest
|
||||
ldmia sp!, {r3, pc}
|
||||
arm_func_end ExclusiveItemEffectIsActive__02347B80
|
||||
|
|
|
|||
|
|
@ -12,7 +12,11 @@ ov29_02347BC8: ; 0x02347BC8
|
|||
ldr r4, [r4]
|
||||
mov r6, #3
|
||||
add r0, r4, #0x1a000
|
||||
#ifdef JAPAN
|
||||
ldrb r0, [r0, #0x1a1]
|
||||
#else
|
||||
ldrb r0, [r0, #0x245]
|
||||
#endif
|
||||
mov r5, #0
|
||||
mov sb, r3
|
||||
str r0, [sp, #0x30]
|
||||
|
|
@ -236,9 +240,15 @@ _02347F10:
|
|||
mov r0, r5
|
||||
mov r1, #8
|
||||
bl ov29_02304A84
|
||||
#ifdef JAPAN
|
||||
mov r0, sl
|
||||
mov r1, r5
|
||||
mov r2, #0x920
|
||||
#else
|
||||
ldr r2, _02348014 ; =0x00000BE1
|
||||
mov r0, sl
|
||||
mov r1, r5
|
||||
#endif
|
||||
bl LogMessageByIdWithPopupCheckUserTarget
|
||||
mov r0, sl
|
||||
mov r1, r5
|
||||
|
|
@ -296,9 +306,14 @@ _02348004:
|
|||
.align 2, 0
|
||||
_0234800C: .word DUNGEON_PTR
|
||||
_02348010: .word 0x00000195
|
||||
#ifdef JAPAN
|
||||
_02348018: .word 0x00000923
|
||||
_0234801C: .word 0x00000922
|
||||
#else
|
||||
_02348014: .word 0x00000BE1
|
||||
_02348018: .word 0x00000BE4
|
||||
_0234801C: .word 0x00000BE3
|
||||
#endif
|
||||
arm_func_end ov29_02347BC8
|
||||
|
||||
arm_func_start DoesProjectileHitTarget
|
||||
|
|
@ -371,6 +386,11 @@ ov29_023480FC: ; 0x023480FC
|
|||
|
||||
arm_func_start ov29_02348100
|
||||
ov29_02348100: ; 0x02348100
|
||||
#ifdef JAPAN
|
||||
#define OV29_02348100_OFFSET -4
|
||||
#else
|
||||
#define OV29_02348100_OFFSET 0
|
||||
#endif
|
||||
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
||||
movs r4, r0
|
||||
moveq r0, #0
|
||||
|
|
@ -390,7 +410,7 @@ _02348124:
|
|||
ldrsh r1, [r7, #4]
|
||||
ldrb r2, [r7, #0x5e]
|
||||
ldrb r3, [r7, #0x5f]
|
||||
add r0, r7, #0x224
|
||||
add r0, r7, #0x224 + OV29_02348100_OFFSET
|
||||
bl sub_02011220
|
||||
mov r0, r4
|
||||
mov r1, #0x4c
|
||||
|
|
@ -435,47 +455,47 @@ _023481C4:
|
|||
cmp r0, #0
|
||||
movne r6, #1
|
||||
mov r8, #0
|
||||
add r4, r7, #0x124
|
||||
add r4, r7, #0x124 + OV29_02348100_OFFSET
|
||||
_023481FC:
|
||||
add r0, r7, r8, lsl #3
|
||||
cmp r5, #0
|
||||
addne r0, r0, #0x100
|
||||
ldrneh r1, [r0, #0x26]
|
||||
ldrneh r1, [r0, #0x26 + OV29_02348100_OFFSET]
|
||||
orrne r1, r1, #0x200
|
||||
strneh r1, [r0, #0x26]
|
||||
strneh r1, [r0, #0x26 + OV29_02348100_OFFSET]
|
||||
bne _02348248
|
||||
add r1, r0, #0x100
|
||||
ldrh r2, [r1, #0x26]
|
||||
ldrh r2, [r1, #0x26 + OV29_02348100_OFFSET]
|
||||
add r0, r4, r8, lsl #3
|
||||
bic r2, r2, #0x200
|
||||
strh r2, [r1, #0x26]
|
||||
strh r2, [r1, #0x26 + OV29_02348100_OFFSET]
|
||||
bl GetMaxPp
|
||||
add r2, r7, r8, lsl #3
|
||||
mov r0, r0, lsl #0x10
|
||||
ldrb r1, [r2, #0x12a]
|
||||
ldrb r1, [r2, #0x12a + OV29_02348100_OFFSET]
|
||||
mov r3, r0, asr #0x10
|
||||
cmp r1, r0, asr #16
|
||||
strgtb r3, [r2, #0x12a]
|
||||
strgtb r3, [r2, #0x12a + OV29_02348100_OFFSET]
|
||||
_02348248:
|
||||
add r0, r7, r8, lsl #3
|
||||
cmp r6, #0
|
||||
addne r0, r0, #0x100
|
||||
ldrneh r1, [r0, #0x26]
|
||||
ldrneh r1, [r0, #0x26 + OV29_02348100_OFFSET]
|
||||
orrne r1, r1, #0x400
|
||||
strneh r1, [r0, #0x26]
|
||||
strneh r1, [r0, #0x26 + OV29_02348100_OFFSET]
|
||||
bne _02348294
|
||||
add r1, r0, #0x100
|
||||
ldrh r2, [r1, #0x26]
|
||||
ldrh r2, [r1, #0x26 + OV29_02348100_OFFSET]
|
||||
add r0, r4, r8, lsl #3
|
||||
bic r2, r2, #0x400
|
||||
strh r2, [r1, #0x26]
|
||||
strh r2, [r1, #0x26 + OV29_02348100_OFFSET]
|
||||
bl GetMaxPp
|
||||
add r2, r7, r8, lsl #3
|
||||
mov r0, r0, lsl #0x10
|
||||
ldrb r1, [r2, #0x12a]
|
||||
ldrb r1, [r2, #0x12a + OV29_02348100_OFFSET]
|
||||
mov r3, r0, asr #0x10
|
||||
cmp r1, r0, asr #16
|
||||
strgtb r3, [r2, #0x12a]
|
||||
strgtb r3, [r2, #0x12a + OV29_02348100_OFFSET]
|
||||
_02348294:
|
||||
add r0, r8, #1
|
||||
mov r0, r0, lsl #0x10
|
||||
|
|
@ -658,12 +678,28 @@ ov29_023484A0: ; 0x023484A0
|
|||
ldr r4, _02348804 ; =DUNGEON_PTR
|
||||
b _02348798
|
||||
_023484FC:
|
||||
#ifdef JAPAN
|
||||
mov r0, r8
|
||||
bl GetAcceptedMission
|
||||
mov sb, r0
|
||||
ldrb r0, [sb]
|
||||
cmp r0, #5
|
||||
ldreqb r1, [r7]
|
||||
ldreqb r0, [sb, #4]
|
||||
cmpeq r1, r0
|
||||
ldreqb r1, [r7, #1]
|
||||
ldreqb r0, [sb, #5]
|
||||
cmpeq r1, r0
|
||||
movne r0, #0
|
||||
bne _02348784
|
||||
#else
|
||||
mov r0, r7
|
||||
mov r1, r8
|
||||
bl ov29_02349790
|
||||
movs sb, r0
|
||||
moveq r0, #0
|
||||
beq _02348784
|
||||
#endif
|
||||
strb r6, [r7, #0x18]
|
||||
ldrb r0, [sb, #1]
|
||||
strb r0, [r7, #0x19]
|
||||
|
|
@ -881,6 +917,7 @@ _02348804: .word DUNGEON_PTR
|
|||
_02348808: .word ov10_022C48E4
|
||||
arm_func_end ov29_023484A0
|
||||
|
||||
#ifndef JAPAN
|
||||
arm_func_start ov29_0234880C
|
||||
ov29_0234880C: ; 0x0234880C
|
||||
stmdb sp!, {r3, r4, r5, lr}
|
||||
|
|
@ -922,6 +959,7 @@ ov29_02348850: ; 0x02348850
|
|||
.align 2, 0
|
||||
_02348884: .word DUNGEON_PTR
|
||||
arm_func_end ov29_02348850
|
||||
#endif
|
||||
|
||||
arm_func_start ov29_02348888
|
||||
ov29_02348888: ; 0x02348888
|
||||
|
|
@ -1098,7 +1136,11 @@ _02348A90:
|
|||
mov r0, #0
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
.align 2, 0
|
||||
#ifdef JAPAN
|
||||
_02348AB8: .word 0x00000B65
|
||||
#else
|
||||
_02348AB8: .word 0x00000E24
|
||||
#endif
|
||||
arm_func_end ov29_02348A18
|
||||
|
||||
arm_func_start ov29_02348ABC
|
||||
|
|
@ -1130,7 +1172,11 @@ ov29_02348ABC: ; 0x02348ABC
|
|||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
_02348B20: .word DUNGEON_PTR
|
||||
#ifdef JAPAN
|
||||
_02348B24: .word 0x00000B63
|
||||
#else
|
||||
_02348B24: .word 0x00000E22
|
||||
#endif
|
||||
arm_func_end ov29_02348ABC
|
||||
|
||||
arm_func_start ov29_02348B28
|
||||
|
|
@ -1164,8 +1210,13 @@ ov29_02348B28: ; 0x02348B28
|
|||
ldmia sp!, {r4, pc}
|
||||
.align 2, 0
|
||||
_02348B94: .word DUNGEON_PTR
|
||||
#ifdef JAPAN
|
||||
_02348B98: .word 0x00000B58
|
||||
_02348B9C: .word 0x00000B85
|
||||
#else
|
||||
_02348B98: .word 0x00000E17
|
||||
_02348B9C: .word 0x00000E44
|
||||
#endif
|
||||
arm_func_end ov29_02348B28
|
||||
|
||||
arm_func_start ov29_02348BA0
|
||||
|
|
@ -1224,9 +1275,14 @@ _02348C50:
|
|||
add sp, sp, #0x10
|
||||
ldmia sp!, {r4, pc}
|
||||
.align 2, 0
|
||||
_02348C58: .word 0x00000E3B
|
||||
_02348C5C: .word 0x00000E3C
|
||||
_02348C60: .word 0x00000E3D
|
||||
#ifdef JAPAN
|
||||
#define OV29_02348BE8_OFFSET -0x2BF
|
||||
#else
|
||||
#define OV29_02348BE8_OFFSET 0
|
||||
#endif
|
||||
_02348C58: .word 0x00000E3B + OV29_02348BE8_OFFSET
|
||||
_02348C5C: .word 0x00000E3C + OV29_02348BE8_OFFSET
|
||||
_02348C60: .word 0x00000E3D + OV29_02348BE8_OFFSET
|
||||
arm_func_end ov29_02348BE8
|
||||
|
||||
arm_func_start ov29_02348C64
|
||||
|
|
@ -1413,7 +1469,11 @@ _02348EAC:
|
|||
mov r0, #1
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
#ifdef JAPAN
|
||||
_02348EC8: .word 0x00000911
|
||||
#else
|
||||
_02348EC8: .word 0x00000BD2
|
||||
#endif
|
||||
arm_func_end ov29_02348DD8
|
||||
|
||||
arm_func_start ov29_02348ECC
|
||||
|
|
@ -2197,6 +2257,7 @@ _02349788:
|
|||
bx lr
|
||||
arm_func_end FloorHasMissionMonster
|
||||
|
||||
#ifndef JAPAN
|
||||
arm_func_start ov29_02349790
|
||||
ov29_02349790: ; 0x02349790
|
||||
stmdb sp!, {r4, lr}
|
||||
|
|
@ -2214,6 +2275,7 @@ ov29_02349790: ; 0x02349790
|
|||
movne r0, #0
|
||||
ldmia sp!, {r4, pc}
|
||||
arm_func_end ov29_02349790
|
||||
#endif
|
||||
|
||||
arm_func_start ov29_023497C8
|
||||
ov29_023497C8: ; 0x023497C8
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ GenerateMissionEggMonster: ; 0x023498A0
|
|||
bne _02349A54
|
||||
bl GetRandomSpawnMonsterID
|
||||
mov sb, r0
|
||||
#ifndef JAPAN
|
||||
bl IsCastform
|
||||
cmp r0, #0
|
||||
mov r0, sb
|
||||
|
|
@ -32,6 +33,7 @@ _023498E4:
|
|||
moveq sb, #0x1cc
|
||||
ldrne sb, _02349A64 ; =0x00000424
|
||||
_02349904:
|
||||
#endif
|
||||
ldr r0, _02349A68 ; =0x000001C1
|
||||
sub r0, r0, #2
|
||||
str r0, [sp, #8]
|
||||
|
|
@ -126,9 +128,11 @@ _02349A54:
|
|||
add sp, sp, #0x18
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
.align 2, 0
|
||||
#ifndef JAPAN
|
||||
_02349A5C: .word 0x0000017B
|
||||
_02349A60: .word 0x000003D3
|
||||
_02349A64: .word 0x00000424
|
||||
#endif
|
||||
_02349A68: .word 0x000001C1
|
||||
_02349A6C: .word 0x00000418
|
||||
arm_func_end GenerateMissionEggMonster
|
||||
|
|
@ -143,7 +147,11 @@ _02349A80:
|
|||
ldr r0, [r4]
|
||||
add r0, r0, r5, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
#ifdef JAPAN
|
||||
ldr r6, [r0, #0xa84]
|
||||
#else
|
||||
ldr r6, [r0, #0xb28]
|
||||
#endif
|
||||
mov r0, r6
|
||||
bl EntityIsValid__0234987C
|
||||
cmp r0, #0
|
||||
|
|
@ -385,8 +393,13 @@ _02349DC8:
|
|||
mov r0, #1
|
||||
mov r2, #0
|
||||
bl SubstitutePlaceholderStringTags
|
||||
#ifdef JAPAN
|
||||
ldr r1, _0234B4B4 ; =0x00000B71
|
||||
mov r0, #0
|
||||
#else
|
||||
mov r0, #0
|
||||
mov r1, #0xe30
|
||||
#endif
|
||||
mov r2, #1
|
||||
bl DisplayMessage
|
||||
ldrsh r4, [r4, #0xa]
|
||||
|
|
@ -430,8 +443,13 @@ _02349E6C:
|
|||
mov r1, r5
|
||||
mov r2, #0
|
||||
bl SubstitutePlaceholderStringTags
|
||||
#ifdef JAPAN
|
||||
ldr r1, _0234B4B4 ; =0x00000B71
|
||||
mov r0, #0
|
||||
#else
|
||||
mov r0, #0
|
||||
mov r1, #0xe30
|
||||
#endif
|
||||
mov r2, #1
|
||||
bl DisplayMessage
|
||||
ldrsh r4, [r4, #0xa]
|
||||
|
|
@ -573,8 +591,13 @@ _0234A088:
|
|||
mov r1, r4
|
||||
mov r0, #1
|
||||
bl ov29_0234B0CC
|
||||
#ifdef JAPAN
|
||||
add r0, sp, #0x40
|
||||
mov r1, #0xb50
|
||||
#else
|
||||
ldr r1, _0234A238 ; =0x00000E0F
|
||||
add r0, sp, #0x40
|
||||
#endif
|
||||
mov r2, #1
|
||||
bl DisplayMessage
|
||||
b _0234A1D4
|
||||
|
|
@ -593,8 +616,13 @@ _0234A0D4:
|
|||
mov r1, r4
|
||||
mov r0, #1
|
||||
bl ov29_0234B0CC
|
||||
#ifdef JAPAN
|
||||
ldr r1, _0234B4DC_2 ; =0x00000B51
|
||||
add r0, sp, #0x30
|
||||
#else
|
||||
add r0, sp, #0x30
|
||||
mov r1, #0xe10
|
||||
#endif
|
||||
mov r2, #1
|
||||
bl DisplayMessage
|
||||
b _0234A1D4
|
||||
|
|
@ -665,23 +693,35 @@ _0234A1F8:
|
|||
add sp, sp, #0xa0
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
.align 2, 0
|
||||
#ifdef JAPAN
|
||||
#define OV29_02349C84_OFFSET -0x2BF
|
||||
#else
|
||||
#define OV29_02349C84_OFFSET 0
|
||||
#endif
|
||||
_0234A200: .word ov29_023537C8
|
||||
_0234A204: .word 0x00000E11
|
||||
_0234A208: .word 0x00000E04
|
||||
_0234A20C: .word 0x00000E34
|
||||
_0234A210: .word 0x00000E35
|
||||
_0234A214: .word 0x00000E31
|
||||
_0234A218: .word 0x00000E32
|
||||
_0234A204: .word 0x00000E11 + OV29_02349C84_OFFSET
|
||||
_0234A208: .word 0x00000E04 + OV29_02349C84_OFFSET
|
||||
_0234A20C: .word 0x00000E34 + OV29_02349C84_OFFSET
|
||||
_0234A210: .word 0x00000E35 + OV29_02349C84_OFFSET
|
||||
#ifdef JAPAN
|
||||
_0234B4B4: .word 0x00000B71
|
||||
#endif
|
||||
_0234A214: .word 0x00000E31 + OV29_02349C84_OFFSET
|
||||
_0234A218: .word 0x00000E32 + OV29_02349C84_OFFSET
|
||||
_0234A21C: .word DUNGEON_PTR
|
||||
_0234A220: .word 0x00000E33
|
||||
_0234A224: .word 0x00000E0A
|
||||
_0234A228: .word 0x00000E0B
|
||||
_0234A22C: .word 0x00000E0C
|
||||
_0234A230: .word 0x00000E0D
|
||||
_0234A234: .word 0x00000E0E
|
||||
_0234A220: .word 0x00000E33 + OV29_02349C84_OFFSET
|
||||
_0234A224: .word 0x00000E0A + OV29_02349C84_OFFSET
|
||||
_0234A228: .word 0x00000E0B + OV29_02349C84_OFFSET
|
||||
_0234A22C: .word 0x00000E0C + OV29_02349C84_OFFSET
|
||||
_0234A230: .word 0x00000E0D + OV29_02349C84_OFFSET
|
||||
_0234A234: .word 0x00000E0E + OV29_02349C84_OFFSET
|
||||
#ifdef JAPAN
|
||||
_0234B4DC_2: .word 0x00000B51
|
||||
#else
|
||||
_0234A238: .word 0x00000E0F
|
||||
_0234A23C: .word 0x00000E09
|
||||
_0234A240: .word 0x00000E07
|
||||
#endif
|
||||
_0234A23C: .word 0x00000E09 + OV29_02349C84_OFFSET
|
||||
_0234A240: .word 0x00000E07 + OV29_02349C84_OFFSET
|
||||
arm_func_end ov29_02349C84
|
||||
|
||||
arm_func_start ov29_0234A244
|
||||
|
|
@ -705,8 +745,13 @@ _0234A26C:
|
|||
bl ov29_023009CC
|
||||
cmp r0, #0
|
||||
bne _0234A2A0
|
||||
#ifdef JAPAN
|
||||
mov r0, #0
|
||||
mov r1, #0xb70
|
||||
#else
|
||||
ldr r1, _0234A2CC ; =0x00000E2F
|
||||
mov r0, #0
|
||||
#endif
|
||||
mov r2, #1
|
||||
bl DisplayMessage2
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
|
|
@ -722,9 +767,14 @@ _0234A2A0:
|
|||
bl DisplayMessage2
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
.align 2, 0
|
||||
#ifdef JAPAN
|
||||
_0234A2C8: .word 0x00000B6E
|
||||
_0234A2D0: .word 0x00000B6D
|
||||
#else
|
||||
_0234A2C8: .word 0x00000E2D
|
||||
_0234A2CC: .word 0x00000E2F
|
||||
_0234A2D0: .word 0x00000E2C
|
||||
#endif
|
||||
arm_func_end ov29_0234A244
|
||||
|
||||
arm_func_start ov29_0234A2D4
|
||||
|
|
@ -828,7 +878,11 @@ _0234A40C:
|
|||
ldr r0, [r0]
|
||||
add r0, r0, r1, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
#ifdef JAPAN
|
||||
ldr r1, [r0, #0xa84]
|
||||
#else
|
||||
ldr r1, [r0, #0xb28]
|
||||
#endif
|
||||
cmp r1, #0
|
||||
moveq r0, #0
|
||||
beq _0234A468
|
||||
|
|
@ -872,15 +926,25 @@ _0234A47C:
|
|||
add r0, sp, #0x14
|
||||
mov r2, #1
|
||||
bl DisplayMessage
|
||||
#ifdef JAPAN
|
||||
mov r0, #0
|
||||
mov r1, #0xb60
|
||||
#else
|
||||
ldr r1, _0234A5CC ; =0x00000E1F
|
||||
mov r0, #0
|
||||
#endif
|
||||
mov r2, #1
|
||||
bl DisplayMessage
|
||||
ldr r4, _0234A5D0 ; =0x00000E44
|
||||
b _0234A570
|
||||
_0234A504:
|
||||
#ifdef JAPAN
|
||||
ldr r1, _0234B870 ; =0x00000B61
|
||||
mov r2, r0
|
||||
#else
|
||||
mov r2, r0
|
||||
mov r1, #0xe20
|
||||
#endif
|
||||
str r0, [sp]
|
||||
bl YesNoMenu
|
||||
cmp r0, #1
|
||||
|
|
@ -925,19 +989,29 @@ _0234A5A8:
|
|||
add sp, sp, #0x24
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
.align 2, 0
|
||||
_0234A5B0: .word 0x00000E27
|
||||
_0234A5B4: .word 0x00000E21
|
||||
#ifdef JAPAN
|
||||
#define OV29_0234A2D4_OFFSET -0x2BF
|
||||
#else
|
||||
#define OV29_0234A2D4_OFFSET 0
|
||||
#endif
|
||||
_0234A5B0: .word 0x00000E27 + OV29_0234A2D4_OFFSET
|
||||
_0234A5B4: .word 0x00000E21 + OV29_0234A2D4_OFFSET
|
||||
_0234A5B8: .word BAG_ITEMS_PTR_MIRROR
|
||||
_0234A5BC: .word 0x00000E26
|
||||
_0234A5BC: .word 0x00000E26 + OV29_0234A2D4_OFFSET
|
||||
_0234A5C0: .word DUNGEON_PTR
|
||||
_0234A5C4: .word 0x00000E1D
|
||||
_0234A5C8: .word 0x00000E1E
|
||||
_0234A5C4: .word 0x00000E1D + OV29_0234A2D4_OFFSET
|
||||
_0234A5C8: .word 0x00000E1E + OV29_0234A2D4_OFFSET
|
||||
#ifndef JAPAN
|
||||
_0234A5CC: .word 0x00000E1F
|
||||
_0234A5D0: .word 0x00000E44
|
||||
_0234A5D4: .word 0x00000E1A
|
||||
_0234A5D8: .word 0x00000E1B
|
||||
_0234A5DC: .word 0x00000E1C
|
||||
_0234A5E0: .word 0x00000E23
|
||||
#endif
|
||||
_0234A5D0: .word 0x00000E44 + OV29_0234A2D4_OFFSET
|
||||
#ifdef JAPAN
|
||||
_0234B870: .word 0x00000B61
|
||||
#endif
|
||||
_0234A5D4: .word 0x00000E1A + OV29_0234A2D4_OFFSET
|
||||
_0234A5D8: .word 0x00000E1B + OV29_0234A2D4_OFFSET
|
||||
_0234A5DC: .word 0x00000E1C + OV29_0234A2D4_OFFSET
|
||||
_0234A5E0: .word 0x00000E23 + OV29_0234A2D4_OFFSET
|
||||
arm_func_end ov29_0234A2D4
|
||||
|
||||
arm_func_start ov29_0234A5E4
|
||||
|
|
@ -982,8 +1056,13 @@ _0234A65C:
|
|||
bl ov29_023009CC
|
||||
cmp r0, #0
|
||||
bne _0234A690
|
||||
#ifdef JAPAN
|
||||
mov r0, #0
|
||||
mov r1, #0xb70
|
||||
#else
|
||||
ldr r1, _0234A748 ; =0x00000E2F
|
||||
mov r0, #0
|
||||
#endif
|
||||
mov r2, #1
|
||||
bl DisplayMessage2
|
||||
b _0234A738
|
||||
|
|
@ -1035,17 +1114,25 @@ _0234A738:
|
|||
add sp, sp, #0x10
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0234A740: .word 0x00000E2E
|
||||
_0234A744: .word 0x00000E2D
|
||||
#ifdef JAPAN
|
||||
#define OV29_0234A5E4_OFFSET -0x2BF
|
||||
#else
|
||||
#define OV29_0234A5E4_OFFSET 0
|
||||
#endif
|
||||
_0234A740: .word 0x00000E2E + OV29_0234A5E4_OFFSET
|
||||
_0234A744: .word 0x00000E2D + OV29_0234A5E4_OFFSET
|
||||
#ifndef JAPAN
|
||||
_0234A748: .word 0x00000E2F
|
||||
_0234A74C: .word 0x00000E2C
|
||||
_0234A750: .word 0x00000E28
|
||||
_0234A754: .word 0x00000E29
|
||||
_0234A758: .word 0x00000E2A
|
||||
#endif
|
||||
_0234A74C: .word 0x00000E2C + OV29_0234A5E4_OFFSET
|
||||
_0234A750: .word 0x00000E28 + OV29_0234A5E4_OFFSET
|
||||
_0234A754: .word 0x00000E29 + OV29_0234A5E4_OFFSET
|
||||
_0234A758: .word 0x00000E2A + OV29_0234A5E4_OFFSET
|
||||
_0234A75C: .word DUNGEON_PTR
|
||||
_0234A760: .word 0x00000E2B
|
||||
_0234A760: .word 0x00000E2B + OV29_0234A5E4_OFFSET
|
||||
arm_func_end ov29_0234A5E4
|
||||
|
||||
#ifndef JAPAN
|
||||
arm_func_start ov29_0234A764
|
||||
ov29_0234A764: ; 0x0234A764
|
||||
stmdb sp!, {r3, lr}
|
||||
|
|
@ -1060,15 +1147,22 @@ ov29_0234A764: ; 0x0234A764
|
|||
and r0, r0, #0xff
|
||||
ldmia sp!, {r3, pc}
|
||||
arm_func_end ov29_0234A764
|
||||
#endif
|
||||
|
||||
arm_func_start ov29_0234A790
|
||||
ov29_0234A790: ; 0x0234A790
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, sp, #0x10
|
||||
mov r7, r0
|
||||
#ifdef JAPAN
|
||||
bl GetLeader
|
||||
cmp r0, #0
|
||||
beq _0234A8A4
|
||||
#else
|
||||
bl ov29_0234A764
|
||||
cmp r0, #0
|
||||
bne _0234A8A4
|
||||
#endif
|
||||
mov r0, #0xa
|
||||
mov r1, #4
|
||||
bl IsCurrentMissionTypeExact
|
||||
|
|
@ -1140,19 +1234,30 @@ _0234A8A4:
|
|||
add sp, sp, #0x10
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0234A8AC: .word 0x00000E14
|
||||
_0234A8B0: .word 0x00000E18
|
||||
#ifdef JAPAN
|
||||
#define OV29_0234A790_OFFSET -0x2BF
|
||||
#else
|
||||
#define OV29_0234A790_OFFSET 0
|
||||
#endif
|
||||
_0234A8AC: .word 0x00000E14 + OV29_0234A790_OFFSET
|
||||
_0234A8B0: .word 0x00000E18 + OV29_0234A790_OFFSET
|
||||
_0234A8B4: .word DUNGEON_PTR
|
||||
_0234A8B8: .word 0x00000E44
|
||||
_0234A8B8: .word 0x00000E44 + OV29_0234A790_OFFSET
|
||||
arm_func_end ov29_0234A790
|
||||
|
||||
arm_func_start ov29_0234A8BC
|
||||
ov29_0234A8BC: ; 0x0234A8BC
|
||||
stmdb sp!, {r4, lr}
|
||||
mov r4, r0
|
||||
#ifdef JAPAN
|
||||
bl GetLeader
|
||||
cmp r0, #0
|
||||
ldmeqia sp!, {r4, pc}
|
||||
#else
|
||||
bl ov29_0234A764
|
||||
cmp r0, #0
|
||||
ldmneia sp!, {r4, pc}
|
||||
#endif
|
||||
bl IsDestinationFloorWithHiddenOutlaw
|
||||
cmp r0, #0
|
||||
beq _0234A928
|
||||
|
|
@ -1199,8 +1304,13 @@ _0234A958:
|
|||
bl ov29_022EA428
|
||||
ldmia sp!, {r4, pc}
|
||||
.align 2, 0
|
||||
#ifdef JAPAN
|
||||
_0234A978: .word 0x00000B57
|
||||
_0234A97C: .word 0x00000B56
|
||||
#else
|
||||
_0234A978: .word 0x00000E16
|
||||
_0234A97C: .word 0x00000E15
|
||||
#endif
|
||||
arm_func_end ov29_0234A8BC
|
||||
|
||||
arm_func_start ov29_0234A980
|
||||
|
|
@ -1272,12 +1382,17 @@ _0234AA78:
|
|||
add sp, sp, #0x10
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0234AA80: .word 0x00000E39
|
||||
_0234AA84: .word 0x00000E36
|
||||
_0234AA88: .word 0x00000E37
|
||||
_0234AA8C: .word 0x00000E38
|
||||
#ifdef JAPAN
|
||||
#define OV29_0234A980_OFFSET -0x2BF
|
||||
#else
|
||||
#define OV29_0234A980_OFFSET 0
|
||||
#endif
|
||||
_0234AA80: .word 0x00000E39 + OV29_0234A980_OFFSET
|
||||
_0234AA84: .word 0x00000E36 + OV29_0234A980_OFFSET
|
||||
_0234AA88: .word 0x00000E37 + OV29_0234A980_OFFSET
|
||||
_0234AA8C: .word 0x00000E38 + OV29_0234A980_OFFSET
|
||||
_0234AA90: .word DUNGEON_PTR
|
||||
_0234AA94: .word 0x00000E3A
|
||||
_0234AA94: .word 0x00000E3A + OV29_0234A980_OFFSET
|
||||
arm_func_end ov29_0234A980
|
||||
|
||||
arm_func_start ov29_0234AA98
|
||||
|
|
@ -1307,8 +1422,13 @@ _0234AAC4:
|
|||
mov r1, r0
|
||||
mov r0, #1
|
||||
bl ov29_0234B084
|
||||
#ifdef JAPAN
|
||||
mov r0, #0
|
||||
mov r1, #0xb80
|
||||
#else
|
||||
ldr r1, _0234ABA0 ; =0x00000E3F
|
||||
mov r0, #0
|
||||
#endif
|
||||
mov r2, #1
|
||||
bl DisplayMessage
|
||||
ldr r1, [r4, #0xb4]
|
||||
|
|
@ -1320,8 +1440,13 @@ _0234AAC4:
|
|||
mov r1, r5
|
||||
mov r0, #1
|
||||
bl ov29_0234B0CC
|
||||
#ifdef JAPAN
|
||||
ldr r1, _0234BE10 ; =0x00000B81
|
||||
add r0, sp, #0
|
||||
#else
|
||||
add r0, sp, #0
|
||||
mov r1, #0xe40
|
||||
#endif
|
||||
mov r2, #1
|
||||
bl DisplayMessage
|
||||
ldr r1, _0234ABA4 ; =0x00000E41
|
||||
|
|
@ -1350,20 +1475,35 @@ _0234AB94:
|
|||
add sp, sp, #0x10
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0234AB9C: .word 0x00000E2D
|
||||
#ifdef JAPAN
|
||||
#define OV29_0234AA98_OFFSET -0x2BF
|
||||
#else
|
||||
#define OV29_0234AA98_OFFSET 0
|
||||
#endif
|
||||
_0234AB9C: .word 0x00000E2D + OV29_0234AA98_OFFSET
|
||||
#ifdef JAPAN
|
||||
_0234BE10: .word 0x00000B81
|
||||
#else
|
||||
_0234ABA0: .word 0x00000E3F
|
||||
_0234ABA4: .word 0x00000E41
|
||||
#endif
|
||||
_0234ABA4: .word 0x00000E41 + OV29_0234AA98_OFFSET
|
||||
_0234ABA8: .word DUNGEON_PTR
|
||||
_0234ABAC: .word 0x00000E42
|
||||
_0234ABAC: .word 0x00000E42 + OV29_0234AA98_OFFSET
|
||||
arm_func_end ov29_0234AA98
|
||||
|
||||
arm_func_start ov29_0234ABB0
|
||||
ov29_0234ABB0: ; 0x0234ABB0
|
||||
stmdb sp!, {r4, lr}
|
||||
mov r4, r0
|
||||
#ifdef JAPAN
|
||||
bl GetLeader
|
||||
cmp r0, #0
|
||||
ldmeqia sp!, {r4, pc}
|
||||
#else
|
||||
bl ov29_0234A764
|
||||
cmp r0, #0
|
||||
ldmneia sp!, {r4, pc}
|
||||
#endif
|
||||
bl GetLeader
|
||||
mov r1, r0
|
||||
mov r0, #0
|
||||
|
|
@ -1390,7 +1530,11 @@ ov29_0234ABB0: ; 0x0234ABB0
|
|||
ldr r0, _0234AC84 ; =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
|
||||
_0234AC38:
|
||||
|
|
@ -1416,9 +1560,15 @@ _0234AC70:
|
|||
bl ov29_022EA428
|
||||
ldmia sp!, {r4, pc}
|
||||
.align 2, 0
|
||||
#ifdef JAPAN
|
||||
_0234AC80: .word 0x00000B54
|
||||
_0234AC84: .word DUNGEON_PTR
|
||||
_0234AC88: .word 0x00000B84
|
||||
#else
|
||||
_0234AC80: .word 0x00000E13
|
||||
_0234AC84: .word DUNGEON_PTR
|
||||
_0234AC88: .word 0x00000E43
|
||||
#endif
|
||||
arm_func_end ov29_0234ABB0
|
||||
|
||||
arm_func_start ov29_0234AC8C
|
||||
|
|
@ -1457,8 +1607,13 @@ _0234ACE0:
|
|||
bl ov29_02348A18
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
.align 2, 0
|
||||
#ifdef JAPAN
|
||||
_0234AD08: .word 0x00000B53
|
||||
_0234AD0C: .word 0x00000B84
|
||||
#else
|
||||
_0234AD08: .word 0x00000E12
|
||||
_0234AD0C: .word 0x00000E43
|
||||
#endif
|
||||
arm_func_end ov29_0234AC8C
|
||||
|
||||
arm_func_start ov29_0234AD10
|
||||
|
|
@ -1511,7 +1666,11 @@ _0234AD44:
|
|||
ldmia sp!, {r3, r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0234ADC4: .word 0x0000025B
|
||||
#ifdef JAPAN
|
||||
_0234ADC8: .word 0x00000B5A
|
||||
#else
|
||||
_0234ADC8: .word 0x00000E19
|
||||
#endif
|
||||
arm_func_end ov29_0234AD10
|
||||
|
||||
arm_func_start ov29_0234ADCC
|
||||
|
|
@ -1547,8 +1706,13 @@ _0234AE1C:
|
|||
bl DisplayMessage
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
#ifdef JAPAN
|
||||
_0234AE38: .word 0x00000B45
|
||||
_0234AE3C: .word 0x00000B46
|
||||
#else
|
||||
_0234AE38: .word 0x00000E04
|
||||
_0234AE3C: .word 0x00000E05
|
||||
#endif
|
||||
arm_func_end ov29_0234ADCC
|
||||
|
||||
arm_func_start ov29_0234AE40
|
||||
|
|
@ -1576,7 +1740,11 @@ ov29_0234AE40: ; 0x0234AE40
|
|||
add sp, sp, #0x10
|
||||
ldmia sp!, {r4, pc}
|
||||
.align 2, 0
|
||||
#ifdef JAPAN
|
||||
_0234AE98: .word 0x00000B47
|
||||
#else
|
||||
_0234AE98: .word 0x00000E06
|
||||
#endif
|
||||
_0234AE9C: .word ov29_0234AEA4
|
||||
_0234AEA0: .word ov29_023537C8
|
||||
arm_func_end ov29_0234AE40
|
||||
|
|
@ -1616,7 +1784,11 @@ ov29_0234AEE8: ; 0x0234AEE8
|
|||
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:
|
||||
|
|
@ -2429,9 +2601,11 @@ _0234B8A0:
|
|||
bl ov10_022BFD20
|
||||
cmp r0, #0
|
||||
bne _0234B9C8
|
||||
#ifndef JAPAN
|
||||
bl sub_02001808
|
||||
cmp r0, #0x3000
|
||||
blt _0234B9C8
|
||||
#endif
|
||||
ldr r0, _0234BA14 ; =ov29_023537CC
|
||||
mvn r1, #1
|
||||
ldr r0, [r0, #4]
|
||||
|
|
@ -3150,8 +3324,13 @@ _0234C1F4:
|
|||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _0234C230
|
||||
#ifdef JAPAN
|
||||
add r0, r0, #0x2180
|
||||
add r0, r0, #0x18000
|
||||
#else
|
||||
add r0, r0, #0x224
|
||||
add r0, r0, #0x1a000
|
||||
#endif
|
||||
bl ov10_022BF764
|
||||
bl ov29_022E6DD0
|
||||
b _0234C238
|
||||
|
|
@ -4121,7 +4300,11 @@ _0234CE60:
|
|||
ldr r0, _0234CEA4 ; =DUNGEON_PTR
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, #0x748]
|
||||
#ifdef JAPAN
|
||||
cmp r0, #0x7a
|
||||
#else
|
||||
cmp r0, #0x7b
|
||||
#endif
|
||||
ldmneia sp!, {r4, pc}
|
||||
ldr r0, _0234CEE8 ; =0xFFFFFED2
|
||||
add r0, r4, r0
|
||||
|
|
@ -4289,8 +4472,23 @@ _0234D04C:
|
|||
b _0234D1E0
|
||||
_0234D0A0:
|
||||
cmp r0, #0xda
|
||||
#ifdef JAPAN
|
||||
bne _0234E334
|
||||
ldr r0, _0234D204 ; =DUNGEON_PTR
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, #0x748]
|
||||
bl IsFutureDungeon
|
||||
cmp r0, #0
|
||||
ldrne r0, _0234E48C ; =0x000004BC
|
||||
ldreq r0, _0234D200 ; =0x000004B3
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r4, r0, asr #0x10
|
||||
b _0234D1E0
|
||||
_0234E334:
|
||||
#else
|
||||
ldreq r4, _0234D200 ; =0x000004B3
|
||||
beq _0234D1E0
|
||||
#endif
|
||||
cmp r0, #0xed
|
||||
bne _0234D148
|
||||
ldr r0, _0234D204 ; =DUNGEON_PTR
|
||||
|
|
@ -4385,8 +4583,14 @@ _0234D1F0: .word 0x000001B2
|
|||
_0234D1F4: .word 0x000004CD
|
||||
_0234D1F8: .word 0x000004CF
|
||||
_0234D1FC: .word 0x000004D1
|
||||
#ifdef JAPAN
|
||||
_0234D204: .word DUNGEON_PTR
|
||||
_0234E48C: .word 0x000004BC
|
||||
_0234D200: .word 0x000004B3
|
||||
#else
|
||||
_0234D200: .word 0x000004B3
|
||||
_0234D204: .word DUNGEON_PTR
|
||||
#endif
|
||||
_0234D208: .word 0x000004C4
|
||||
_0234D20C: .word 0x000004C6
|
||||
_0234D210: .word 0x000004C7
|
||||
|
|
|
|||
|
|
@ -5,6 +5,11 @@
|
|||
|
||||
arm_func_start OpenMenu
|
||||
OpenMenu: ; 0x0234DDF4
|
||||
#ifdef JAPAN
|
||||
#define OPEN_MENU_OFFSET -0xA4
|
||||
#else
|
||||
#define OPEN_MENU_OFFSET 0
|
||||
#endif
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
||||
sub sp, sp, #0x38
|
||||
mov r0, #0x22
|
||||
|
|
@ -301,7 +306,7 @@ _0234E214:
|
|||
ldr r0, [r0]
|
||||
add r0, r0, r8, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
ldr r0, [r0, #0xb28]
|
||||
ldr r0, [r0, #0xb28 + OPEN_MENU_OFFSET]
|
||||
str r0, [sp, #4]
|
||||
bl EntityIsValid__0234DDD0
|
||||
cmp r0, #0
|
||||
|
|
@ -360,7 +365,7 @@ _0234E2E0:
|
|||
ldr r0, [r0]
|
||||
add r0, r0, r7, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
ldr sb, [r0, #0xb28]
|
||||
ldr sb, [r0, #0xb28 + OPEN_MENU_OFFSET]
|
||||
mov r0, sb
|
||||
bl EntityIsValid__0234DDD0
|
||||
cmp r0, #0
|
||||
|
|
@ -384,7 +389,7 @@ _0234E334:
|
|||
ldr r0, [r0]
|
||||
add r0, r0, sb, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
ldr r0, [r0, #0xb28]
|
||||
ldr r0, [r0, #0xb28 + OPEN_MENU_OFFSET]
|
||||
str r0, [sp, #0xc]
|
||||
bl ov29_02302388
|
||||
cmp r0, #0
|
||||
|
|
@ -483,9 +488,13 @@ _0234E48C:
|
|||
ldrb r1, [r0, #0xa]
|
||||
add r0, r3, r2, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
ldr r0, [r0, #0xb28]
|
||||
ldr r0, [r0, #0xb28 + OPEN_MENU_OFFSET]
|
||||
ldr r2, [r0, #0xb4]
|
||||
#ifdef JAPAN
|
||||
add r2, r2, #0x120
|
||||
#else
|
||||
add r2, r2, #0x124
|
||||
#endif
|
||||
add r1, r2, r1, lsl #3
|
||||
bl ov29_022F0C3C
|
||||
cmp r0, #0
|
||||
|
|
@ -706,7 +715,11 @@ _0234E7C0:
|
|||
mov r2, #0
|
||||
bl ov29_022E2A78
|
||||
mov r0, #0
|
||||
#ifdef JAPAN
|
||||
mov r1, #0x870
|
||||
#else
|
||||
ldr r1, _0234E8F4 ; =0x00000B6A
|
||||
#endif
|
||||
mov r2, #1
|
||||
bl DisplayMessage
|
||||
_0234E7F8:
|
||||
|
|
@ -784,7 +797,9 @@ _0234E8E0:
|
|||
_0234E8E8: .word DUNGEON_PTR
|
||||
_0234E8EC: .word ov29_02382804
|
||||
_0234E8F0: .word ov29_0235352C
|
||||
#ifndef JAPAN
|
||||
_0234E8F4: .word 0x00000B6A
|
||||
#endif
|
||||
arm_func_end OpenMenu
|
||||
|
||||
arm_func_start ov29_0234E8F8
|
||||
|
|
@ -907,7 +922,11 @@ _0234EA5C:
|
|||
mov r0, sl
|
||||
add r1, r1, r4, lsl #2
|
||||
add r1, r1, #0x12000
|
||||
#ifdef JAPAN
|
||||
ldr r1, [r1, #0xa84]
|
||||
#else
|
||||
ldr r1, [r1, #0xb28]
|
||||
#endif
|
||||
mov r2, r4
|
||||
mov r3, r8
|
||||
bl ov29_0234EC38
|
||||
|
|
@ -1005,9 +1024,14 @@ _0234EBA4:
|
|||
ov29_0234EBAC: ; 0x0234EBAC
|
||||
stmdb sp!, {r3, r4, r5, lr}
|
||||
mov r5, r0
|
||||
#ifdef JAPAN
|
||||
add r0, r5, #0x10
|
||||
mov r4, r2
|
||||
#else
|
||||
mov r4, r2
|
||||
add r0, r5, #0x10
|
||||
mov r2, #0xa
|
||||
#endif
|
||||
bl StrncpySimple
|
||||
strb r4, [r5, #0x1a]
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
|
|
@ -1023,13 +1047,21 @@ _0234EBDC:
|
|||
ldr r0, [r4]
|
||||
add r0, r0, r6, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
#ifdef JAPAN
|
||||
ldr r7, [r0, #0xa84]
|
||||
#else
|
||||
ldr r7, [r0, #0xb28]
|
||||
#endif
|
||||
mov r0, r7
|
||||
bl EntityIsValid__0234EC14
|
||||
cmp r0, #0
|
||||
ldrne r0, [r7, #0xb4]
|
||||
add r6, r6, #1
|
||||
#ifdef JAPAN
|
||||
strneb r5, [r0, #0x15d]
|
||||
#else
|
||||
strneb r5, [r0, #0x161]
|
||||
#endif
|
||||
cmp r6, #4
|
||||
blt _0234EBDC
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
|
|
|
|||
|
|
@ -50,7 +50,11 @@ _0234ECCC:
|
|||
mov r0, r7
|
||||
ldr r5, [r7, #0xb4]
|
||||
bl ov29_02347100
|
||||
#ifdef JAPAN
|
||||
strb r0, [r5, #0x15d]
|
||||
#else
|
||||
strb r0, [r5, #0x161]
|
||||
#endif
|
||||
_0234ECE4:
|
||||
ldrsh r0, [r4, #0xc]
|
||||
ldr r5, [r8, #0x88]
|
||||
|
|
@ -62,7 +66,11 @@ _0234ECE4:
|
|||
strb r0, [sl, #4]
|
||||
str r7, [sl, #0x1c]
|
||||
str r6, [sb, r5, lsl #5]
|
||||
#ifdef JAPAN
|
||||
ldrb r0, [r4, #0x15d]
|
||||
#else
|
||||
ldrb r0, [r4, #0x161]
|
||||
#endif
|
||||
ldr r1, [r8, #0x88]
|
||||
cmp r0, #0
|
||||
movne r2, #0
|
||||
|
|
@ -148,7 +156,11 @@ ov29_0234EE10: ; 0x0234EE10
|
|||
mov r3, #1
|
||||
ldr r1, [r7, #0xb4]
|
||||
rsb r0, r3, #0x3e8
|
||||
#ifdef JAPAN
|
||||
strb r3, [r1, #0x15d]
|
||||
#else
|
||||
strb r3, [r1, #0x161]
|
||||
#endif
|
||||
ldr ip, [r7, #0xb4]
|
||||
ldrsh r2, [ip, #0x12]
|
||||
ldrsh r1, [ip, #0x16]
|
||||
|
|
@ -594,7 +606,11 @@ _0234F3D8:
|
|||
add sp, sp, #0xa4
|
||||
ldmia sp!, {r3, r4, pc}
|
||||
.align 2, 0
|
||||
#ifdef JAPAN
|
||||
_0234F3E0: .word 0x00001D35
|
||||
#else
|
||||
_0234F3E0: .word 0x000008DD
|
||||
#endif
|
||||
_0234F3E4: .word ov29_023533E0
|
||||
_0234F3E8: .word 0x00001813
|
||||
_0234F3EC: .word ov29_023533C0
|
||||
|
|
@ -697,8 +713,12 @@ _0234F508:
|
|||
cmp r0, #1
|
||||
beq _0234F578
|
||||
ldrb r0, [r4, #1]
|
||||
#ifdef JAPAN
|
||||
add r0, r0, #0x2c8
|
||||
#else
|
||||
add r0, r0, #0x278
|
||||
add r0, r0, #0x800
|
||||
#endif
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r0, r0, lsr #0x10
|
||||
bl StringFromId
|
||||
|
|
@ -846,7 +866,11 @@ _0234F75C:
|
|||
_0234F764: .word ov29_023533F0
|
||||
_0234F768: .word ov29_023533F8
|
||||
_0234F76C: .word DUNGEON_PTR
|
||||
#ifdef JAPAN
|
||||
_0234F770: .word 0x00001D36
|
||||
#else
|
||||
_0234F770: .word 0x000008DE
|
||||
#endif
|
||||
_0234F774: .word ov29_02353404
|
||||
_0234F778: .word ov29_0235340C
|
||||
arm_func_end ov29_0234F430
|
||||
|
|
@ -1029,7 +1053,11 @@ _0234F9C0:
|
|||
_0234F9C8: .word ov29_0235383C
|
||||
_0234F9CC: .word ov29_0235343C
|
||||
_0234F9D0: .word ov29_02353474
|
||||
#ifdef JAPAN
|
||||
_0234F9D4: .word 0x00001D11
|
||||
#else
|
||||
_0234F9D4: .word 0x000008B9
|
||||
#endif
|
||||
_0234F9D8: .word ov29_0235341C
|
||||
_0234F9DC: .word 0x00001A33
|
||||
_0234F9E0: .word ov29_0234F77C
|
||||
|
|
@ -1201,7 +1229,11 @@ _0234FBE4:
|
|||
ldr r0, [r4]
|
||||
add r0, r0, r5, lsl #2
|
||||
add r0, r0, #0x12000
|
||||
#ifdef JAPAN
|
||||
ldr r0, [r0, #0xa84]
|
||||
#else
|
||||
ldr r0, [r0, #0xb28]
|
||||
#endif
|
||||
bl ov29_0234FB60
|
||||
cmp r0, #0
|
||||
movne r0, #1
|
||||
|
|
|
|||
|
|
@ -7190,7 +7190,9 @@ _02388AA8:
|
|||
movgt r1, r0
|
||||
strh r1, [r4, #0x10]
|
||||
_02388AF8:
|
||||
#ifndef JAPAN
|
||||
bl UpdateMapSurveyorFlag
|
||||
#endif
|
||||
add r0, sp, #0xc
|
||||
mov r1, #0x39
|
||||
bl IqSkillFlagTest
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user