Finished ov29 JP mismatches

This commit is contained in:
AnonymousRandomPerson 2024-04-20 00:01:54 -04:00
parent ccb82ed26c
commit a2c226ed9b
7 changed files with 833 additions and 83 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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}

View File

@ -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

View File

@ -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