SpawnFieldObjectsInView

This commit is contained in:
PikalaxALT
2017-09-07 15:58:38 -04:00
parent 64ebd9b4fb
commit f128e4c4f0
2 changed files with 44 additions and 135 deletions

View File

@@ -5,141 +5,6 @@
.text
thumb_func_start SpawnFieldObjectsInView
@ void SpawnFieldObjectsInView(u16 movingCameraOffsetX, u16 movingCameraOffsetY)
SpawnFieldObjectsInView: @ 808DF80
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x10
lsls r0, 16
lsrs r0, 16
str r0, [sp, 0x4]
lsls r1, 16
lsrs r1, 16
str r1, [sp, 0x8]
ldr r5, =gMapHeader
ldr r0, [r5, 0x4]
cmp r0, 0
beq _0808E078
ldr r0, =gSaveBlock1Ptr
ldr r2, [r0]
ldrh r1, [r2]
subs r0, r1, 0x2
lsls r0, 16
lsrs r0, 16
mov r8, r0
adds r1, 0x11
lsls r1, 16
lsrs r1, 16
str r1, [sp, 0xC]
ldrh r4, [r2, 0x2]
adds r0, r4, 0
adds r0, 0x10
lsls r0, 16
lsrs r0, 16
mov r10, r0
bl InBattlePyramid
lsls r0, 24
cmp r0, 0
beq _0808DFE0
bl sub_81AAA40
lsls r0, 24
lsrs r6, r0, 24
b _0808DFF0
.pool
_0808DFE0:
bl InTrainerHill
cmp r0, 0
beq _0808DFEC
movs r6, 0x2
b _0808DFF0
_0808DFEC:
ldr r0, [r5, 0x4]
ldrb r6, [r0]
_0808DFF0:
movs r5, 0
cmp r5, r6
bcs _0808E078
lsls r0, r4, 16
asrs r0, 16
mov r9, r0
mov r1, r8
lsls r0, r1, 16
asrs r0, 16
mov r8, r0
_0808E004:
lsls r0, r5, 1
adds r0, r5
lsls r0, 3
movs r2, 0xC7
lsls r2, 4
adds r0, r2
ldr r3, =gSaveBlock1Ptr
ldr r1, [r3]
adds r4, r1, r0
ldrh r0, [r4, 0x4]
adds r0, 0x7
lsls r0, 16
lsrs r2, r0, 16
ldrh r0, [r4, 0x6]
adds r0, 0x7
lsls r0, 16
asrs r1, r0, 16
cmp r9, r1
bgt _0808E06E
mov r7, r10
lsls r0, r7, 16
asrs r0, 16
cmp r0, r1
blt _0808E06E
lsls r0, r2, 16
asrs r1, r0, 16
cmp r8, r1
bgt _0808E06E
ldr r2, [sp, 0xC]
lsls r0, r2, 16
asrs r0, 16
cmp r0, r1
blt _0808E06E
ldrh r0, [r4, 0x14]
bl FlagGet
lsls r0, 24
cmp r0, 0
bne _0808E06E
ldr r3, =gSaveBlock1Ptr
ldr r0, [r3]
ldrb r1, [r0, 0x5]
ldrb r2, [r0, 0x4]
ldr r7, [sp, 0x4]
lsls r3, r7, 16
ldr r7, [sp, 0x8]
lsls r0, r7, 16
asrs r0, 16
str r0, [sp]
adds r0, r4, 0
asrs r3, 16
bl SpawnFieldObject
_0808E06E:
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, r6
bcc _0808E004
_0808E078:
add sp, 0x10
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end SpawnFieldObjectsInView
thumb_func_start RemoveFieldObjectsOutsideView
@ void RemoveFieldObjectsOutsideView()
RemoveFieldObjectsOutsideView: @ 808E08C