mirror of
https://github.com/pret/pmd-sky.git
synced 2026-04-24 23:09:54 -05:00
1315 lines
23 KiB
ArmAsm
1315 lines
23 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "overlay_29_02333FD0.inc"
|
|
|
|
.text
|
|
|
|
arm_func_start ov29_02333FD0
|
|
ov29_02333FD0: ; 0x02333FD0
|
|
#ifdef JAPAN
|
|
#define OV29_02333FD0_OFFSET -4
|
|
#else
|
|
#define OV29_02333FD0_OFFSET 0
|
|
#endif
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
mov r6, r1
|
|
ldr r5, [r6, #0xb4]
|
|
mov r7, r0
|
|
ldrb r0, [r5, #0xc4]
|
|
mov r8, r2
|
|
ldr r4, [r7, #0xb4]
|
|
cmp r0, #1
|
|
bne _02334008
|
|
mov r0, r8
|
|
bl IsThawingMove
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334008:
|
|
ldrh r1, [r8, #4]
|
|
ldr r0, _02334CA4 ; =0x0000010A
|
|
cmp r1, r0
|
|
bgt _0233429C
|
|
bge _023349A4
|
|
cmp r1, #0x8a
|
|
bgt _023341C8
|
|
bge _023349F4
|
|
cmp r1, #0x56
|
|
bgt _02334164
|
|
bge _023347B0
|
|
cmp r1, #0x4f
|
|
bgt _02334140
|
|
bge _023344D0
|
|
cmp r1, #0x3b
|
|
bgt _02334134
|
|
bge _0233473C
|
|
cmp r1, #0x36
|
|
addls pc, pc, r1, lsl #2
|
|
b _02334C9C
|
|
_02334058: ; jump table
|
|
b _02334C9C ; case 0
|
|
b _02334C9C ; case 1
|
|
b _02334C9C ; case 2
|
|
b _023344E8 ; case 3
|
|
b _023344D0 ; case 4
|
|
b _02334510 ; case 5
|
|
b _02334C9C ; case 6
|
|
b _02334C9C ; case 7
|
|
b _02334C9C ; case 8
|
|
b _02334C9C ; case 9
|
|
b _02334524 ; case 10
|
|
b _02334538 ; case 11
|
|
b _02334C9C ; case 12
|
|
b _02334A74 ; case 13
|
|
b _02334C9C ; case 14
|
|
b _02334C9C ; case 15
|
|
b _02334C9C ; case 16
|
|
b _0233454C ; case 17
|
|
b _02334C9C ; case 18
|
|
b _02334C9C ; case 19
|
|
b _02334574 ; case 20
|
|
b _02334588 ; case 21
|
|
b _023345A0 ; case 22
|
|
b _02334618 ; case 23
|
|
b _02334A74 ; case 24
|
|
b _02334C9C ; case 25
|
|
b _02334C9C ; case 26
|
|
b _02334630 ; case 27
|
|
b _02334C9C ; case 28
|
|
b _02334C9C ; case 29
|
|
b _02334C9C ; case 30
|
|
b _02334C9C ; case 31
|
|
b _02334C9C ; case 32
|
|
b _02334644 ; case 33
|
|
b _023344D0 ; case 34
|
|
b _02334658 ; case 35
|
|
b _02334C9C ; case 36
|
|
b _023346C0 ; case 37
|
|
b _02334C9C ; case 38
|
|
b _02334C9C ; case 39
|
|
b _02334C9C ; case 40
|
|
b _02334C9C ; case 41
|
|
b _02334C9C ; case 42
|
|
b _023346D4 ; case 43
|
|
b _02334C9C ; case 44
|
|
b _02334A74 ; case 45
|
|
b _02334C9C ; case 46
|
|
b _023346F0 ; case 47
|
|
b _02334C9C ; case 48
|
|
b _02334C9C ; case 49
|
|
b _02334C9C ; case 50
|
|
b _02334C9C ; case 51
|
|
b _02334C9C ; case 52
|
|
b _02334C9C ; case 53
|
|
b _02334704 ; case 54
|
|
_02334134:
|
|
cmp r1, #0x42
|
|
beq _02334750
|
|
b _02334C9C
|
|
_02334140:
|
|
cmp r1, #0x54
|
|
bgt _02334158
|
|
bge _023344D0
|
|
cmp r1, #0x53
|
|
beq _02334780
|
|
b _02334C9C
|
|
_02334158:
|
|
cmp r1, #0x55
|
|
beq _02334794
|
|
b _02334C9C
|
|
_02334164:
|
|
cmp r1, #0x6f
|
|
bgt _02334194
|
|
bge _023344D0
|
|
cmp r1, #0x59
|
|
bgt _02334188
|
|
bge _023347B0
|
|
cmp r1, #0x58
|
|
beq _023347C4
|
|
b _02334C9C
|
|
_02334188:
|
|
cmp r1, #0x6a
|
|
beq _02334618
|
|
b _02334C9C
|
|
_02334194:
|
|
cmp r1, #0x73
|
|
bgt _023341AC
|
|
bge _02334830
|
|
cmp r1, #0x70
|
|
beq _0233481C
|
|
b _02334C9C
|
|
_023341AC:
|
|
cmp r1, #0x7a
|
|
bgt _023341BC
|
|
beq _0233476C
|
|
b _02334C9C
|
|
_023341BC:
|
|
cmp r1, #0x7c
|
|
beq _0233473C
|
|
b _02334C9C
|
|
_023341C8:
|
|
cmp r1, #0xc5
|
|
bgt _02334238
|
|
bge _02334A40
|
|
cmp r1, #0xac
|
|
bgt _02334204
|
|
bge _023348B8
|
|
cmp r1, #0x92
|
|
bgt _023341F8
|
|
bge _023348A4
|
|
cmp r1, #0x8e
|
|
beq _023348A4
|
|
b _02334C9C
|
|
_023341F8:
|
|
cmp r1, #0xab
|
|
beq _02334A74
|
|
b _02334C9C
|
|
_02334204:
|
|
cmp r1, #0xc0
|
|
bgt _0233421C
|
|
bge _0233473C
|
|
cmp r1, #0xbf
|
|
beq _02334A74
|
|
b _02334C9C
|
|
_0233421C:
|
|
cmp r1, #0xc2
|
|
bgt _0233422C
|
|
beq _023347B0
|
|
b _02334C9C
|
|
_0233422C:
|
|
cmp r1, #0xc4
|
|
beq _02334A54
|
|
b _02334C9C
|
|
_02334238:
|
|
cmp r1, #0xdc
|
|
bgt _02334268
|
|
bge _0233493C
|
|
cmp r1, #0xd1
|
|
bgt _0233425C
|
|
bge _023348CC
|
|
cmp r1, #0xc7
|
|
beq _02334A54
|
|
b _02334C9C
|
|
_0233425C:
|
|
cmp r1, #0xd9
|
|
beq _02334928
|
|
b _02334C9C
|
|
_02334268:
|
|
cmp r1, #0xe7
|
|
bgt _02334280
|
|
bge _023344D0
|
|
cmp r1, #0xe0
|
|
beq _0233476C
|
|
b _02334C9C
|
|
_02334280:
|
|
cmp r1, #0xed
|
|
bgt _02334290
|
|
beq _02334960
|
|
b _02334C9C
|
|
_02334290:
|
|
cmp r1, #0xf9
|
|
beq _02334908
|
|
b _02334C9C
|
|
_0233429C:
|
|
add r2, r0, #0xb5
|
|
cmp r1, r2
|
|
bgt _023343B8
|
|
bge _02334AB0
|
|
add r2, r0, #0x31
|
|
cmp r1, r2
|
|
bgt _0233432C
|
|
bge _02334704
|
|
add r2, r0, #0xf
|
|
cmp r1, r2
|
|
bgt _023342FC
|
|
bge _0233473C
|
|
add r2, r0, #7
|
|
cmp r1, r2
|
|
bgt _023342EC
|
|
bge _023348A4
|
|
add r0, r0, #1
|
|
cmp r1, r0
|
|
beq _02334928
|
|
b _02334C9C
|
|
_023342EC:
|
|
add r0, r0, #8
|
|
cmp r1, r0
|
|
beq _02334A74
|
|
b _02334C9C
|
|
_023342FC:
|
|
add r2, r0, #0x1c
|
|
cmp r1, r2
|
|
bgt _0233431C
|
|
bge _02334A20
|
|
add r0, r0, #0x1b
|
|
cmp r1, r0
|
|
beq _023349E0
|
|
b _02334C9C
|
|
_0233431C:
|
|
add r0, r0, #0x30
|
|
cmp r1, r0
|
|
beq _023349B8
|
|
b _02334C9C
|
|
_0233432C:
|
|
add r2, r0, #0x55
|
|
cmp r1, r2
|
|
bgt _0233436C
|
|
bge _02334618
|
|
add r2, r0, #0x3d
|
|
cmp r1, r2
|
|
bgt _0233435C
|
|
bge _023349F4
|
|
add r0, r0, #0x3c
|
|
cmp r1, r0
|
|
beq _02334A0C
|
|
b _02334C9C
|
|
_0233435C:
|
|
add r0, r0, #0x3f
|
|
cmp r1, r0
|
|
beq _023349CC
|
|
b _02334C9C
|
|
_0233436C:
|
|
add r2, r0, #0x74
|
|
cmp r1, r2
|
|
bgt _0233438C
|
|
bge _02334A74
|
|
add r0, r0, #0x71
|
|
cmp r1, r0
|
|
beq _023349A4
|
|
b _02334C9C
|
|
_0233438C:
|
|
add r2, r0, #0xac
|
|
cmp r1, r2
|
|
bgt _023343A8
|
|
add r0, r0, #0xac
|
|
cmp r1, r0
|
|
beq _02334A88
|
|
b _02334C9C
|
|
_023343A8:
|
|
add r0, r0, #0xad
|
|
cmp r1, r0
|
|
beq _02334A9C
|
|
b _02334C9C
|
|
_023343B8:
|
|
add r2, r0, #0xe3
|
|
cmp r1, r2
|
|
bgt _02334450
|
|
bge _02334B64
|
|
add r2, r0, #0xc8
|
|
cmp r1, r2
|
|
bgt _02334408
|
|
bge _02334B00
|
|
add r2, r0, #0xb8
|
|
cmp r1, r2
|
|
bgt _023343FC
|
|
add r0, r0, #0xb8
|
|
cmp r1, r0
|
|
bge _02334AEC
|
|
cmp r1, #0x1c0
|
|
beq _02334AC4
|
|
b _02334C9C
|
|
_023343FC:
|
|
cmp r1, #0x1c8
|
|
beq _02334524
|
|
b _02334C9C
|
|
_02334408:
|
|
add r2, r0, #0xd8
|
|
cmp r1, r2
|
|
bgt _02334428
|
|
bge _023348CC
|
|
add r0, r0, #0xd4
|
|
cmp r1, r0
|
|
beq _02334B14
|
|
b _02334C9C
|
|
_02334428:
|
|
add r2, r0, #0xd9
|
|
cmp r1, r2
|
|
bgt _02334444
|
|
add r0, r0, #0xd9
|
|
cmp r1, r0
|
|
beq _023344D0
|
|
b _02334C9C
|
|
_02334444:
|
|
cmp r1, #0x1ec
|
|
beq _02334B28
|
|
b _02334C9C
|
|
_02334450:
|
|
add r2, r0, #0xf8
|
|
cmp r1, r2
|
|
bgt _02334494
|
|
bge _02334C00
|
|
add r2, r0, #0xf0
|
|
cmp r1, r2
|
|
bgt _02334484
|
|
add r0, r0, #0xf0
|
|
cmp r1, r0
|
|
bge _02334B78
|
|
cmp r1, #0x1f8
|
|
beq _0233481C
|
|
b _02334C9C
|
|
_02334484:
|
|
add r0, r0, #0xf7
|
|
cmp r1, r0
|
|
beq _02334BD8
|
|
b _02334C9C
|
|
_02334494:
|
|
cmp r1, #0x210
|
|
bgt _023344B0
|
|
bge _02334C18
|
|
ldr r0, _02334CA8 ; =0x0000020D
|
|
cmp r1, r0
|
|
beq _023349F4
|
|
b _02334C9C
|
|
_023344B0:
|
|
cmp r1, #0x214
|
|
bgt _023344C0
|
|
beq _02334C60
|
|
b _02334C9C
|
|
_023344C0:
|
|
add r0, r0, #0x10c
|
|
cmp r1, r0
|
|
beq _02334C74
|
|
b _02334C9C
|
|
_023344D0:
|
|
mov r0, r6
|
|
bl IsMonsterSleeping
|
|
cmp r0, #0
|
|
beq _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_023344E8:
|
|
ldrb r0, [r5, #0xbd]
|
|
cmp r0, #4
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
mov r0, r6
|
|
bl IsMonsterSleeping
|
|
cmp r0, #0
|
|
beq _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334510:
|
|
ldrb r0, [r5, #0xbd]
|
|
cmp r0, #3
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334524:
|
|
ldrsh r0, [r5, #0x2e]
|
|
cmp r0, #1
|
|
bge _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334538:
|
|
ldr r0, [r5, #0x34]
|
|
cmp r0, #0x3f
|
|
bge _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_0233454C:
|
|
ldrb r0, [r5, #0xd0]
|
|
cmp r0, #6
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
add r0, r5, #0x124 + OV29_02333FD0_OFFSET
|
|
bl ov29_02334CAC
|
|
cmp r0, #0
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334574:
|
|
ldrsh r0, [r5, #0x10]
|
|
cmp r0, #2
|
|
bge _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334588:
|
|
ldrsh r1, [r5, #0x10]
|
|
ldrsh r0, [r4, #0x10]
|
|
cmp r1, r0
|
|
bgt _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_023345A0:
|
|
mov r3, #0
|
|
mov r0, r3
|
|
mov r1, #1
|
|
b _023345DC
|
|
_023345B0:
|
|
add r2, r5, r3, lsl #3
|
|
ldrb r2, [r2, #0x124 + OV29_02333FD0_OFFSET]
|
|
tst r2, #1
|
|
movne r4, r1
|
|
moveq r4, r0
|
|
tst r4, #0xff
|
|
beq _023345D8
|
|
tst r2, #0x20
|
|
movne r0, #1
|
|
bne _023345F4
|
|
_023345D8:
|
|
add r3, r3, #1
|
|
_023345DC:
|
|
cmp r3, #4
|
|
blt _023345B0
|
|
ldrb r0, [r5, #0x144 + OV29_02333FD0_OFFSET]
|
|
tst r0, #0x20
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
_023345F4:
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
add r0, r5, #0x124 + OV29_02333FD0_OFFSET
|
|
bl ov29_02334CAC
|
|
cmp r0, #0
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334618:
|
|
ldr r0, [r6, #0xb4]
|
|
ldr r0, [r0, #0x110 + OV29_02333FD0_OFFSET]
|
|
cmp r0, #1
|
|
bge _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334630:
|
|
ldr r0, [r5, #0x3c]
|
|
cmp r0, #0x3f
|
|
bge _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334644:
|
|
ldrsh r0, [r5, #0x2a]
|
|
cmp r0, #1
|
|
bge _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334658:
|
|
mov r4, #0
|
|
add r3, r5, #0x124 + OV29_02333FD0_OFFSET
|
|
mov r1, r4
|
|
mov r2, #1
|
|
b _023346A4
|
|
_0233466C:
|
|
ldrb r5, [r3, r4, lsl #3]
|
|
add r0, r3, r4, lsl #3
|
|
tst r5, #1
|
|
movne r6, r2
|
|
moveq r6, r1
|
|
tst r6, #0xff
|
|
beq _023346A0
|
|
tst r5, #0x10
|
|
beq _023346A0
|
|
ldrb r0, [r0, #6]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
beq _023346B0
|
|
_023346A0:
|
|
add r4, r4, #1
|
|
_023346A4:
|
|
cmp r4, #4
|
|
blt _0233466C
|
|
mov r0, #0
|
|
_023346B0:
|
|
cmp r0, #0
|
|
beq _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_023346C0:
|
|
ldrb r0, [r5, #0xec]
|
|
cmp r0, #2
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_023346D4:
|
|
ldr r0, [r5, #0x34]
|
|
cmp r0, #0x3f
|
|
ldrlt r0, [r5, #0x38]
|
|
cmplt r0, #0x3f
|
|
bge _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_023346F0:
|
|
ldrb r0, [r5, #0xbf]
|
|
cmp r0, #1
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334704:
|
|
ldrb r0, [r5, #0x5e]
|
|
cmp r0, #0xe
|
|
ldrneb r0, [r5, #0x5f]
|
|
cmpne r0, #0xe
|
|
bne _02334728
|
|
ldrb r0, [r5, #0xfe]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334728:
|
|
ldrsh r0, [r5, #0x2e]
|
|
cmp r0, #0xa
|
|
bgt _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_0233473C:
|
|
ldrb r0, [r5, #0xbf]
|
|
cmp r0, #4
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334750:
|
|
ldrsh r1, [r5, #0x10]
|
|
ldrsh r0, [r4, #0x10]
|
|
sub r0, r1, r0
|
|
cmp r0, #1
|
|
bge _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_0233476C:
|
|
ldrsh r0, [r5, #0x28]
|
|
cmp r0, #1
|
|
bge _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334780:
|
|
ldrsh r0, [r5, #0x2a]
|
|
cmp r0, #1
|
|
bge _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334794:
|
|
ldrsh r0, [r5, #0x24]
|
|
cmp r0, #1
|
|
ldrltsh r0, [r5, #0x28]
|
|
cmplt r0, #1
|
|
bge _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_023347B0:
|
|
ldrb r0, [r5, #0xc4]
|
|
cmp r0, #2
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_023347C4:
|
|
mov r2, #0
|
|
b _02334804
|
|
_023347CC:
|
|
add r1, r5, r2, lsl #1
|
|
ldrsh r0, [r1, #0x24]
|
|
cmp r0, #0xa
|
|
ldrgesh r0, [r1, #0x28]
|
|
cmpge r0, #0xa
|
|
ldrgesh r0, [r1, #0x2c]
|
|
cmpge r0, #0xa
|
|
addge r1, r5, r2, lsl #2
|
|
ldrge r0, [r1, #0x34]
|
|
cmpge r0, #0x100
|
|
ldrge r0, [r1, #0x3c]
|
|
cmpge r0, #0x100
|
|
blt _0233480C
|
|
add r2, r2, #1
|
|
_02334804:
|
|
cmp r2, #2
|
|
blt _023347CC
|
|
_0233480C:
|
|
cmp r2, #2
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_0233481C:
|
|
ldrb r0, [r5, #0xbd]
|
|
cmp r0, #2
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334830:
|
|
mov r0, #0
|
|
b _0233488C
|
|
_02334838:
|
|
add r6, r4, r0, lsl #1
|
|
add r3, r5, r0, lsl #1
|
|
ldrsh r2, [r6, #0x24]
|
|
ldrsh r1, [r3, #0x24]
|
|
cmp r2, r1
|
|
ldrgesh r2, [r6, #0x28]
|
|
ldrgesh r1, [r3, #0x28]
|
|
cmpge r2, r1
|
|
ldrgesh r2, [r6, #0x2c]
|
|
ldrgesh r1, [r3, #0x2c]
|
|
cmpge r2, r1
|
|
addge r6, r4, r0, lsl #2
|
|
addge r3, r5, r0, lsl #2
|
|
ldrge r2, [r6, #0x34]
|
|
ldrge r1, [r3, #0x34]
|
|
cmpge r2, r1
|
|
ldrge r2, [r6, #0x3c]
|
|
ldrge r1, [r3, #0x3c]
|
|
cmpge r2, r1
|
|
blt _02334894
|
|
add r0, r0, #1
|
|
_0233488C:
|
|
cmp r0, #2
|
|
blt _02334838
|
|
_02334894:
|
|
cmp r0, #2
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_023348A4:
|
|
ldrsh r0, [r5, #0x2c]
|
|
cmp r0, #1
|
|
bge _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_023348B8:
|
|
ldrb r0, [r5, #0xd0]
|
|
cmp r0, #5
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_023348CC:
|
|
ldrb r0, [r4, #0x62]
|
|
tst r0, #1
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
tst r0, #0xff
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
ldrb r0, [r5, #0x62]
|
|
tst r0, #1
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
tst r0, #0xff
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334908:
|
|
ldrb r0, [r5, #0x62]
|
|
tst r0, #1
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
tst r0, #0xff
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334928:
|
|
ldrsh r0, [r5, #0x24]
|
|
cmp r0, #1
|
|
bge _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_0233493C:
|
|
ldrb r1, [r4, #0x60]
|
|
ldrb r0, [r5, #0x60]
|
|
cmp r1, r0
|
|
ldreqb r1, [r4, #0x61]
|
|
ldreqb r0, [r5, #0x61]
|
|
cmpeq r1, r0
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334960:
|
|
mov r0, r7
|
|
mov r1, #0xe
|
|
bl MonsterIsType
|
|
cmp r0, #0
|
|
beq _02334988
|
|
ldrb r0, [r5, #0xd8]
|
|
cmp r0, #1
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334988:
|
|
ldrsh r0, [r4, #0x24]
|
|
cmp r0, #0x13
|
|
ldrgtsh r0, [r4, #0x28]
|
|
cmpgt r0, #0x13
|
|
ble _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_023349A4:
|
|
ldrb r0, [r5, #0xd0]
|
|
cmp r0, #3
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_023349B8:
|
|
ldrsh r0, [r5, #0x10]
|
|
cmp r0, #2
|
|
bge _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_023349CC:
|
|
ldrb r0, [r5, #0xe0]
|
|
cmp r0, #1
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_023349E0:
|
|
#ifdef JAPAN
|
|
ldrb r0, [r5, #0x105]
|
|
#else
|
|
ldrb r0, [r5, #0x106]
|
|
#endif
|
|
cmp r0, #0
|
|
beq _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_023349F4:
|
|
add r0, r5, #0x124 + OV29_02333FD0_OFFSET
|
|
bl ov29_02334CAC
|
|
cmp r0, #0
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334A0C:
|
|
ldrb r0, [r5, #0xd0]
|
|
cmp r0, #7
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334A20:
|
|
ldrb r0, [r5, #0xc4]
|
|
cmp r0, #3
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
cmp r0, #4
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334A40:
|
|
ldrb r0, [r5, #0xbf]
|
|
cmp r0, #3
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334A54:
|
|
ldrb r0, [r5, #0xbf]
|
|
cmp r0, #2
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
cmp r0, #3
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334A74:
|
|
ldrb r0, [r5, #0xd0]
|
|
cmp r0, #2
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334A88:
|
|
ldrb r0, [r5, #0xd8]
|
|
cmp r0, #4
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334A9C:
|
|
ldrb r0, [r5, #0xd8]
|
|
cmp r0, #4
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334AB0:
|
|
ldrb r0, [r5, #0xd5]
|
|
cmp r0, #0x11
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334AC4:
|
|
ldrsh r3, [r4, #0x28]
|
|
ldrsh r2, [r4, #0x2a]
|
|
ldrsh r1, [r5, #0x28]
|
|
ldrsh r0, [r5, #0x2a]
|
|
add r2, r3, r2
|
|
add r0, r1, r0
|
|
cmp r2, r0
|
|
blt _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334AEC:
|
|
ldrb r0, [r5, #0xd8]
|
|
cmp r0, #5
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334B00:
|
|
ldrb r0, [r5, #0xd8]
|
|
cmp r0, #6
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334B14:
|
|
bl GravityIsActive
|
|
cmp r0, #0
|
|
beq _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334B28:
|
|
mov r2, #0
|
|
b _02334B4C
|
|
_02334B30:
|
|
add r1, r5, r2, lsl #1
|
|
ldrsh r0, [r1, #0x24]
|
|
cmp r0, #0x14
|
|
ldrgesh r0, [r1, #0x28]
|
|
cmpge r0, #0x14
|
|
blt _02334B54
|
|
add r2, r2, #1
|
|
_02334B4C:
|
|
cmp r2, #2
|
|
blt _02334B30
|
|
_02334B54:
|
|
cmp r2, #2
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334B64:
|
|
ldrb r0, [r5, #0xf7]
|
|
cmp r0, #1
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334B78:
|
|
ldrsh r3, [r4, #0x28]
|
|
ldrsh r1, [r4, #0x2a]
|
|
ldrsh r2, [r5, #0x28]
|
|
ldrsh r0, [r5, #0x2a]
|
|
add r1, r3, r1
|
|
mov r1, r1, lsl #0x10
|
|
add r0, r2, r0
|
|
mov r2, r0, lsl #0x10
|
|
ldrsh r6, [r4, #0x24]
|
|
ldrsh r0, [r4, #0x26]
|
|
ldrsh r4, [r5, #0x24]
|
|
ldrsh r3, [r5, #0x26]
|
|
add r0, r6, r0
|
|
mov r0, r0, lsl #0x10
|
|
add r3, r4, r3
|
|
mov r4, r1, asr #0x10
|
|
mov r1, r3, lsl #0x10
|
|
mov r2, r2, asr #0x10
|
|
add r3, r4, r0, asr #16
|
|
add r0, r2, r1, asr #16
|
|
cmp r3, r0
|
|
blt _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334BD8:
|
|
ldrsh r3, [r4, #0x24]
|
|
ldrsh r2, [r4, #0x26]
|
|
ldrsh r1, [r5, #0x24]
|
|
ldrsh r0, [r5, #0x26]
|
|
add r2, r3, r2
|
|
add r0, r1, r0
|
|
cmp r2, r0
|
|
blt _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334C00:
|
|
ldrsh r1, [r4, #0x24]
|
|
ldrsh r0, [r4, #0x28]
|
|
cmp r1, r0
|
|
blt _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334C18:
|
|
ldrb r0, [r5, #0x5e]
|
|
cmp r0, #0x10
|
|
ldrneb r0, [r5, #0x5f]
|
|
cmpne r0, #0x10
|
|
bne _02334C4C
|
|
ldrb r0, [r5, #0xf5]
|
|
cmp r0, #1
|
|
bne _02334C9C
|
|
ldrsh r0, [r5, #0x2e]
|
|
cmp r0, #0xa
|
|
bgt _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334C4C:
|
|
ldrsh r0, [r5, #0x2e]
|
|
cmp r0, #0xa
|
|
bgt _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334C60:
|
|
ldrb r0, [r5, #0xd5]
|
|
cmp r0, #0xf
|
|
bne _02334C9C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334C74:
|
|
ldrsh r0, [r5, #0x26]
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
ldrsh r0, [r4, #2]
|
|
ldrsh r1, [r5, #2]
|
|
bl GendersEqualNotGenderless
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02334C9C:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_02334CA4: .word 0x0000010A
|
|
_02334CA8: .word 0x0000020D
|
|
arm_func_end ov29_02333FD0
|
|
|
|
arm_func_start ov29_02334CAC
|
|
ov29_02334CAC: ; 0x02334CAC
|
|
stmdb sp!, {r3, lr}
|
|
mov r3, #0
|
|
mov r1, r3
|
|
mov r2, #1
|
|
b _02334CE8
|
|
_02334CC0:
|
|
ldrb ip, [r0, r3, lsl #3]
|
|
tst ip, #1
|
|
movne lr, r2
|
|
moveq lr, r1
|
|
tst lr, #0xff
|
|
beq _02334CE4
|
|
tst ip, #0x10
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, pc}
|
|
_02334CE4:
|
|
add r3, r3, #1
|
|
_02334CE8:
|
|
cmp r3, #4
|
|
blt _02334CC0
|
|
ldrb r0, [r0, #0x20]
|
|
tst r0, #0x10
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
and r0, r0, #0xff
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov29_02334CAC
|
|
|
|
arm_func_start GetApparentWeather
|
|
GetApparentWeather: ; 0x02334D08
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r0
|
|
beq _02334D40
|
|
mov r1, #0x6f
|
|
bl AbilityIsActiveVeneer
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
bne _02334D34
|
|
mov r0, r4
|
|
mov r1, #0x34
|
|
bl HasHeldItem
|
|
_02334D34:
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
_02334D40:
|
|
ldr r0, _02334D54 ; =DUNGEON_PTR
|
|
ldr r0, [r0]
|
|
add r0, r0, #0xc000
|
|
#ifdef JAPAN
|
|
ldrb r0, [r0, #0xc94]
|
|
#else
|
|
ldrb r0, [r0, #0xd38]
|
|
#endif
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02334D54: .word DUNGEON_PTR
|
|
arm_func_end GetApparentWeather
|
|
|
|
arm_func_start ov29_02334D58
|
|
ov29_02334D58: ; 0x02334D58
|
|
stmdb sp!, {r3, lr}
|
|
bl IsSecretFloor
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, _02334DA4 ; =DUNGEON_PTR
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x28000
|
|
#ifdef JAPAN
|
|
ldrb r0, [r0, #0x612]
|
|
#else
|
|
ldrb r0, [r0, #0x6b6]
|
|
#endif
|
|
cmp r0, #8
|
|
bne _02334D8C
|
|
mov r0, #8
|
|
bl DungeonRandInt
|
|
and r0, r0, #0xff
|
|
_02334D8C:
|
|
bl ov29_02334DA8
|
|
bl TryActivateArtificialWeatherAbilities
|
|
mov r0, #0
|
|
mov r1, #1
|
|
bl TryActivateWeather
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02334DA4: .word DUNGEON_PTR
|
|
arm_func_end ov29_02334D58
|
|
|
|
arm_func_start ov29_02334DA8
|
|
ov29_02334DA8: ; 0x02334DA8
|
|
#ifdef JAPAN
|
|
#define OV29_02334DA8_OFFSET -0xA4
|
|
#else
|
|
#define OV29_02334DA8_OFFSET 0
|
|
#endif
|
|
ldr r3, _02334E6C ; =DUNGEON_PTR
|
|
mov r1, #0
|
|
ldr r2, [r3]
|
|
add r2, r2, #0xc000
|
|
strb r0, [r2, #0xd39 + OV29_02334DA8_OFFSET]
|
|
ldr r0, [r3]
|
|
add r0, r0, #0xc000
|
|
ldrb r2, [r0, #0xd39 + OV29_02334DA8_OFFSET]
|
|
strb r2, [r0, #0xd38 + OV29_02334DA8_OFFSET]
|
|
ldr r0, [r3]
|
|
add r0, r0, #0xc000
|
|
strb r1, [r0, #0xd5d + OV29_02334DA8_OFFSET]
|
|
mov r0, r1
|
|
_02334DDC:
|
|
ldr r2, [r3]
|
|
add r2, r2, r1, lsl #1
|
|
#ifdef JAPAN
|
|
add r2, r2, #0xcc00
|
|
strh r0, [r2, #0x96]
|
|
ldr r2, [r3]
|
|
add r2, r2, r1, lsl #1
|
|
add r2, r2, #0xcc00
|
|
add r1, r1, #1
|
|
strh r0, [r2, #0xa6]
|
|
#else
|
|
add r2, r2, #0xcd00
|
|
strh r0, [r2, #0x3a]
|
|
ldr r2, [r3]
|
|
add r2, r2, r1, lsl #1
|
|
add r2, r2, #0xcd00
|
|
add r1, r1, #1
|
|
strh r0, [r2, #0x4a]
|
|
#endif
|
|
cmp r1, #8
|
|
blt _02334DDC
|
|
ldr r2, _02334E6C ; =DUNGEON_PTR
|
|
mov r3, #9
|
|
ldr r1, [r2]
|
|
add r1, r1, #0xc000
|
|
strb r3, [r1, #0xd5a + OV29_02334DA8_OFFSET]
|
|
ldr r1, [r2]
|
|
add r1, r1, #0xc000
|
|
strb r0, [r1, #0xd5b + OV29_02334DA8_OFFSET]
|
|
ldr r1, [r2]
|
|
add r1, r1, #0xc000
|
|
strb r0, [r1, #0xd5c + OV29_02334DA8_OFFSET]
|
|
_02334E34:
|
|
ldr r1, [r2]
|
|
and r3, r0, #0xff
|
|
add r1, r1, r0, lsl #2
|
|
strb r3, [r1, #0x1e0]
|
|
ldr r1, [r2]
|
|
add r1, r1, r0, lsl #2
|
|
strb r3, [r1, #0x1e1]
|
|
ldr r1, [r2]
|
|
add r1, r1, r0, lsl #2
|
|
add r0, r0, #1
|
|
strb r3, [r1, #0x1e2]
|
|
cmp r0, #0x100
|
|
blt _02334E34
|
|
bx lr
|
|
.align 2, 0
|
|
_02334E6C: .word DUNGEON_PTR
|
|
arm_func_end ov29_02334DA8
|
|
|
|
arm_func_start ov29_02334E70
|
|
ov29_02334E70: ; 0x02334E70
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
bl GetApparentWeather
|
|
bl GetWeatherColorTable
|
|
mov r5, r0
|
|
mov r0, #0
|
|
bl GetApparentWeather
|
|
ldr r1, [sp]
|
|
bl ov29_022E5FE8
|
|
mov r0, #0x25
|
|
bl AdvanceFrame
|
|
mov r0, #1
|
|
bl AnimationDelayOrSomething
|
|
ldr r0, _0233503C ; =ov29_02353562
|
|
mov r1, #1
|
|
ldrb fp, [r0]
|
|
mov r4, #0
|
|
strb r1, [r0]
|
|
b _0233500C
|
|
_02334EC0:
|
|
mov r0, #0x25
|
|
mov r6, #0
|
|
bl AdvanceFrame
|
|
mov r8, r6
|
|
_02334ED0:
|
|
ldr r0, _02335040 ; =DUNGEON_PTR
|
|
ldrb r7, [r5, r8, lsl #2]
|
|
ldr sl, [r0]
|
|
add r0, sl, r8, lsl #2
|
|
ldrb sb, [r0, #0x1e0]
|
|
sub r0, sb, r7
|
|
bl abs
|
|
cmp r0, #0xa
|
|
addlt r0, sl, r8, lsl #2
|
|
strltb r7, [r0, #0x1e0]
|
|
blt _02334F28
|
|
cmp sb, r7
|
|
addlo r1, sl, r8, lsl #2
|
|
ldrlob r0, [r1, #0x1e0]
|
|
mov r6, #1
|
|
addlo r0, r0, #0xa
|
|
strlob r0, [r1, #0x1e0]
|
|
blo _02334F28
|
|
addhi r1, sl, r8, lsl #2
|
|
ldrhib r0, [r1, #0x1e0]
|
|
subhi r0, r0, #0xa
|
|
strhib r0, [r1, #0x1e0]
|
|
_02334F28:
|
|
ldr r0, _02335040 ; =DUNGEON_PTR
|
|
add r1, r5, r8, lsl #2
|
|
ldr sl, [r0]
|
|
ldrb r7, [r1, #1]
|
|
add r0, sl, r8, lsl #2
|
|
ldrb sb, [r0, #0x1e1]
|
|
sub r0, sb, r7
|
|
bl abs
|
|
cmp r0, #0xa
|
|
addlt r0, sl, r8, lsl #2
|
|
strltb r7, [r0, #0x1e1]
|
|
blt _02334F84
|
|
cmp sb, r7
|
|
addlo r1, sl, r8, lsl #2
|
|
ldrlob r0, [r1, #0x1e1]
|
|
mov r6, #1
|
|
addlo r0, r0, #0xa
|
|
strlob r0, [r1, #0x1e1]
|
|
blo _02334F84
|
|
addhi r1, sl, r8, lsl #2
|
|
ldrhib r0, [r1, #0x1e1]
|
|
subhi r0, r0, #0xa
|
|
strhib r0, [r1, #0x1e1]
|
|
_02334F84:
|
|
ldr r0, _02335040 ; =DUNGEON_PTR
|
|
add r1, r5, r8, lsl #2
|
|
ldr sl, [r0]
|
|
ldrb r7, [r1, #2]
|
|
add r0, sl, r8, lsl #2
|
|
ldrb sb, [r0, #0x1e2]
|
|
sub r0, sb, r7
|
|
bl abs
|
|
cmp r0, #0xa
|
|
addlt r0, sl, r8, lsl #2
|
|
strltb r7, [r0, #0x1e2]
|
|
blt _02334FE0
|
|
cmp sb, r7
|
|
addlo r1, sl, r8, lsl #2
|
|
ldrlob r0, [r1, #0x1e2]
|
|
mov r6, #1
|
|
addlo r0, r0, #0xa
|
|
strlob r0, [r1, #0x1e2]
|
|
blo _02334FE0
|
|
addhi r1, sl, r8, lsl #2
|
|
ldrhib r0, [r1, #0x1e2]
|
|
subhi r0, r0, #0xa
|
|
strhib r0, [r1, #0x1e2]
|
|
_02334FE0:
|
|
add r0, r8, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov r8, r0, asr #0x10
|
|
cmp r8, #0x100
|
|
blt _02334ED0
|
|
bl ov29_022DE608
|
|
cmp r6, #0
|
|
beq _02335014
|
|
add r0, r4, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov r4, r0, asr #0x10
|
|
_0233500C:
|
|
cmp r4, #0x40
|
|
blt _02334EC0
|
|
_02335014:
|
|
ldr r0, _02335040 ; =DUNGEON_PTR
|
|
ldr r0, [r0]
|
|
add r0, r0, #0xc000
|
|
#ifdef JAPAN
|
|
ldrb r0, [r0, #0xc94]
|
|
#else
|
|
ldrb r0, [r0, #0xd38]
|
|
#endif
|
|
bl ov29_02338A4C
|
|
ldr r1, _0233503C ; =ov29_02353562
|
|
ldr r0, [sp]
|
|
strb fp, [r1]
|
|
bl ov29_02335044
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_0233503C: .word ov29_02353562
|
|
_02335040: .word DUNGEON_PTR
|
|
arm_func_end ov29_02334E70
|
|
|
|
arm_func_start ov29_02335044
|
|
ov29_02335044: ; 0x02335044
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r1, _023350D4 ; =DUNGEON_PTR
|
|
mov r5, r0
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x1a000
|
|
#ifdef JAPAN
|
|
ldr r4, [r0, #0x188]
|
|
#else
|
|
ldr r4, [r0, #0x22c]
|
|
#endif
|
|
cmp r4, #0
|
|
bne _0233506C
|
|
bl GetLeader
|
|
mov r4, r0
|
|
_0233506C:
|
|
cmp r5, #0
|
|
beq _02335094
|
|
mov r0, #0
|
|
bl GetApparentWeather
|
|
#ifdef JAPAN
|
|
add r0, r0, #0x56
|
|
add r0, r0, #0xc00
|
|
#else
|
|
add r0, r0, #0x45
|
|
add r0, r0, #0xa00
|
|
#endif
|
|
mov r1, r0, lsl #0x10
|
|
mov r0, r4
|
|
mov r1, r1, lsr #0x10
|
|
bl LogMessageByIdWithPopupCheckUser
|
|
_02335094:
|
|
ldr r4, _023350D4 ; =DUNGEON_PTR
|
|
mov r5, #0
|
|
_0233509C:
|
|
ldr r0, [r4]
|
|
add r0, r0, r5, lsl #2
|
|
add r0, r0, #0x12000
|
|
#ifdef JAPAN
|
|
ldr r6, [r0, #0xad4]
|
|
#else
|
|
ldr r6, [r0, #0xb78]
|
|
#endif
|
|
mov r0, r6
|
|
bl EntityIsValid__023350D8
|
|
cmp r0, #0
|
|
beq _023350C4
|
|
mov r0, r6
|
|
bl TryWeatherFormChange
|
|
_023350C4:
|
|
add r5, r5, #1
|
|
cmp r5, #0x14
|
|
blt _0233509C
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_023350D4: .word DUNGEON_PTR
|
|
arm_func_end ov29_02335044
|