mirror of
https://github.com/pret/pokeheartgold.git
synced 2025-01-09 06:20:32 +00:00
4431 lines
82 KiB
ArmAsm
4431 lines
82 KiB
ArmAsm
#include "constants/sndseq.h"
|
|
#include "constants/species.h"
|
|
#include "constants/maps.h"
|
|
#include "constants/pokemon.h"
|
|
#include "constants/flags.h"
|
|
#include "constants/vars.h"
|
|
#include "constants/items.h"
|
|
#include "constants/std_script.h"
|
|
#include "fielddata/script/scr_seq/event_D24R0204.h"
|
|
#include "party_menu.h"
|
|
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_0205E0BC
|
|
sub_0205E0BC: ; 0x0205E0BC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
add r7, r2, #0
|
|
bl MapObjectMan_new
|
|
add r4, r0, #0
|
|
add r1, r6, #0
|
|
bl MapObjectMan_SetFieldSysPtr
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MapObjectMan_SetCount
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl sub_0205F198
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205E0BC
|
|
|
|
thumb_func_start sub_0205E0E8
|
|
sub_0205E0E8: ; 0x0205E0E8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MapObjectMan_GetArray
|
|
add r1, r0, #0
|
|
mov r0, #0xb
|
|
bl FreeToHeapExplicit
|
|
mov r0, #0xb
|
|
add r1, r4, #0
|
|
bl FreeToHeapExplicit
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205E0E8
|
|
|
|
thumb_func_start sub_0205E104
|
|
sub_0205E104: ; 0x0205E104
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
str r0, [sp]
|
|
add r5, r2, #0
|
|
str r3, [sp, #4]
|
|
ldr r7, [sp, #0x20]
|
|
bl MapObjectMan_GetCount
|
|
add r6, r0, #0
|
|
ldr r0, [sp]
|
|
bl MapObjectMan_GetArray
|
|
add r4, r0, #0
|
|
cmp r6, #0
|
|
beq _0205E16C
|
|
_0205E122:
|
|
add r0, r4, #0
|
|
bl MapObject_IsInUse
|
|
cmp r0, #1
|
|
bne _0205E162
|
|
ldr r2, [sp, #4]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
add r3, r7, #0
|
|
bl sub_0205ED90
|
|
cmp r0, #0
|
|
beq _0205E144
|
|
cmp r0, #1
|
|
beq _0205E162
|
|
cmp r0, #2
|
|
b _0205E162
|
|
_0205E144:
|
|
add r0, r4, #0
|
|
bl sub_0205F254
|
|
cmp r5, r0
|
|
beq _0205E162
|
|
mov r1, #1
|
|
add r0, r4, #0
|
|
lsl r1, r1, #0xa
|
|
bl MapObject_TestBits
|
|
cmp r0, #0
|
|
bne _0205E162
|
|
add r0, r4, #0
|
|
bl MapObject_Remove
|
|
_0205E162:
|
|
mov r0, #0x4b
|
|
lsl r0, r0, #2
|
|
add r4, r4, r0
|
|
sub r6, r6, #1
|
|
bne _0205E122
|
|
_0205E16C:
|
|
ldr r0, [sp]
|
|
bl sub_0205F1A0
|
|
add r1, r0, #0
|
|
ldr r0, [sp]
|
|
bl ov01_021F9FB0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205E104
|
|
|
|
thumb_func_start MapObjectMan_new
|
|
MapObjectMan_new: ; 0x0205E180
|
|
push {r4, r5, r6, lr}
|
|
mov r1, #0x4b
|
|
add r4, r0, #0
|
|
mov r0, #0xb
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeap
|
|
add r5, r0, #0
|
|
bne _0205E196
|
|
bl GF_AssertFail
|
|
_0205E196:
|
|
mov r2, #0x4b
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
bl memset
|
|
mov r0, #0x4b
|
|
lsl r0, r0, #2
|
|
add r6, r4, #0
|
|
mul r6, r0
|
|
mov r0, #0xb
|
|
add r1, r6, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
bne _0205E1BA
|
|
bl GF_AssertFail
|
|
_0205E1BA:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r2, r6, #0
|
|
bl memset
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl sub_0205F1A4
|
|
add r0, r5, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MapObjectMan_new
|
|
|
|
thumb_func_start sub_0205E1D0
|
|
sub_0205E1D0: ; 0x0205E1D0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
add r7, r2, #0
|
|
add r2, sp, #0
|
|
add r3, r1, #0
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
add r0, r6, #0
|
|
bl ObjectEventTemplate_GetID
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl ObjectEventTemplate_ScriptIdIsFFFF
|
|
cmp r0, #0
|
|
bne _0205E21C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
bl sub_0205EA98
|
|
add r4, r0, #0
|
|
beq _0205E23E
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl sub_0205F014
|
|
add sp, #0x20
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205E21C:
|
|
add r0, r6, #0
|
|
bl ObjectEventTemplate_GetFlagID_AssertScriptIdIsFFFF
|
|
add r2, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl sub_0205EE10
|
|
add r4, r0, #0
|
|
beq _0205E23E
|
|
add r1, r7, #0
|
|
add r2, r6, #0
|
|
bl sub_0205F058
|
|
add sp, #0x20
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205E23E:
|
|
add r0, r5, #0
|
|
bl sub_0205EA64
|
|
add r4, r0, #0
|
|
beq _0205E290
|
|
add r0, r5, #0
|
|
bl MapObjectMan_GetFieldSysPtr
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl sub_0205EB2C
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_0205EC90
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl sub_0205F250
|
|
add r0, r4, #0
|
|
bl sub_0205EFA4
|
|
add r0, r4, #0
|
|
bl sub_0205EFB4
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl MapObject_SetBits
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl sub_0205EAF0
|
|
add r0, r5, #0
|
|
bl sub_0205F160
|
|
bl sub_0205F16C
|
|
add r0, r4, #0
|
|
_0205E290:
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end sub_0205E1D0
|
|
|
|
thumb_func_start CreateSpecialFieldObject
|
|
CreateSpecialFieldObject: ; 0x0205E294
|
|
push {r4, lr}
|
|
sub sp, #0x18
|
|
ldr r4, [sp, #0x20]
|
|
str r4, [sp]
|
|
ldr r4, [sp, #0x24]
|
|
str r4, [sp, #4]
|
|
ldr r4, [sp, #0x28]
|
|
str r4, [sp, #8]
|
|
mov r4, #0
|
|
str r4, [sp, #0xc]
|
|
str r4, [sp, #0x10]
|
|
str r4, [sp, #0x14]
|
|
bl CreateSpecialFieldObjectEx
|
|
add sp, #0x18
|
|
pop {r4, pc}
|
|
thumb_func_end CreateSpecialFieldObject
|
|
|
|
thumb_func_start CreateSpecialFieldObjectEx
|
|
CreateSpecialFieldObjectEx: ; 0x0205E2B4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, sp, #0
|
|
mov r1, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
bl ObjectEventTemplate_SetID
|
|
ldr r1, [sp, #0x38]
|
|
add r0, sp, #0
|
|
bl ObjectEventTemplate_SetSprite
|
|
ldr r1, [sp, #0x3c]
|
|
add r0, sp, #0
|
|
bl ObjectEventTemplate_SetMovement
|
|
add r0, sp, #0
|
|
mov r1, #0
|
|
bl ObjectEventTemplate_SetType
|
|
add r0, sp, #0
|
|
mov r1, #0
|
|
bl ObjectEventTemplate_SetFlagID
|
|
add r0, sp, #0
|
|
mov r1, #0
|
|
bl ObjectEventTemplate_SetScript
|
|
add r0, sp, #0
|
|
add r1, r7, #0
|
|
bl ObjectEventTemplate_SetFacing
|
|
ldr r1, [sp, #0x44]
|
|
add r0, sp, #0
|
|
mov r2, #0
|
|
bl ObjectEventTemplate_SetParam
|
|
ldr r1, [sp, #0x48]
|
|
add r0, sp, #0
|
|
mov r2, #1
|
|
bl ObjectEventTemplate_SetParam
|
|
ldr r1, [sp, #0x4c]
|
|
add r0, sp, #0
|
|
mov r2, #2
|
|
bl ObjectEventTemplate_SetParam
|
|
add r0, sp, #0
|
|
mov r1, #0
|
|
bl ObjectEventTemplate_SetXRange
|
|
add r0, sp, #0
|
|
mov r1, #0
|
|
bl ObjectEventTemplate_SetYRange
|
|
add r0, sp, #0
|
|
add r1, r4, #0
|
|
bl ObjectEventTemplate_SetXCoord
|
|
add r0, sp, #0
|
|
add r1, r6, #0
|
|
bl ObjectEventTemplate_SetYCoord
|
|
add r0, sp, #0
|
|
mov r1, #0
|
|
bl ObjectEventTemplate_SetHeight
|
|
ldr r2, [sp, #0x40]
|
|
add r0, r5, #0
|
|
add r1, sp, #0
|
|
bl sub_0205E1D0
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end CreateSpecialFieldObjectEx
|
|
|
|
thumb_func_start sub_0205E34C
|
|
sub_0205E34C: ; 0x0205E34C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r0, r1, #0
|
|
add r1, r2, #0
|
|
ldr r2, [sp, #0x18]
|
|
add r7, r3, #0
|
|
mov r6, #0
|
|
bl sub_0205FA98
|
|
str r0, [sp]
|
|
cmp r0, #0
|
|
beq _0205E388
|
|
bl ObjectEventTemplate_GetFlagID
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObjectMan_GetFieldSysPtr
|
|
lsl r1, r4, #0x10
|
|
lsr r1, r1, #0x10
|
|
bl FlagGet
|
|
cmp r0, #0
|
|
bne _0205E388
|
|
ldr r1, [sp]
|
|
add r0, r5, #0
|
|
add r2, r7, #0
|
|
bl sub_0205E1D0
|
|
add r6, r0, #0
|
|
_0205E388:
|
|
add r0, r6, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end sub_0205E34C
|
|
|
|
thumb_func_start sub_0205E38C
|
|
sub_0205E38C: ; 0x0205E38C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MapObject_SetGfxID
|
|
add r0, r4, #0
|
|
bl sub_0205EF48
|
|
mov r1, #1
|
|
add r0, r4, #0
|
|
lsl r1, r1, #0xe
|
|
bl MapObject_ClearBits
|
|
add r0, r4, #0
|
|
bl sub_0205EFB4
|
|
pop {r4, pc}
|
|
thumb_func_end sub_0205E38C
|
|
|
|
thumb_func_start sub_0205E3AC
|
|
sub_0205E3AC: ; 0x0205E3AC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl sub_0205F73C
|
|
cmp r0, #1
|
|
bne _0205E3C0
|
|
add r0, r5, #0
|
|
bl sub_0205E420
|
|
_0205E3C0:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl sub_0205E38C
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205E3AC
|
|
|
|
thumb_func_start MapObject_Remove
|
|
MapObject_Remove: ; 0x0205E3CC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_0205F35C
|
|
bl sub_0205F5D4
|
|
cmp r0, #1
|
|
bne _0205E3E2
|
|
add r0, r4, #0
|
|
bl sub_0205F498
|
|
_0205E3E2:
|
|
add r0, r4, #0
|
|
bl sub_0205F444
|
|
add r0, r4, #0
|
|
bl sub_0205F348
|
|
add r0, r4, #0
|
|
bl sub_0205F364
|
|
bl sub_0205F174
|
|
add r0, r4, #0
|
|
bl sub_0205ED80
|
|
pop {r4, pc}
|
|
thumb_func_end MapObject_Remove
|
|
|
|
thumb_func_start DeleteMapObject
|
|
DeleteMapObject: ; 0x0205E400
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl MapObject_GetFlagID
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl MapObject_GetFieldSysPtr
|
|
lsl r1, r5, #0x10
|
|
lsr r1, r1, #0x10
|
|
bl FlagSet
|
|
add r0, r4, #0
|
|
bl MapObject_Remove
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end DeleteMapObject
|
|
|
|
thumb_func_start sub_0205E420
|
|
sub_0205E420: ; 0x0205E420
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_0205F35C
|
|
bl sub_0205F5D4
|
|
cmp r0, #1
|
|
bne _0205E44E
|
|
mov r1, #1
|
|
add r0, r4, #0
|
|
lsl r1, r1, #0xe
|
|
bl MapObject_GetBitsMask
|
|
cmp r0, #0
|
|
beq _0205E444
|
|
add r0, r4, #0
|
|
bl sub_0205F498
|
|
_0205E444:
|
|
mov r1, #1
|
|
add r0, r4, #0
|
|
lsl r1, r1, #0xe
|
|
bl MapObject_ClearBits
|
|
_0205E44E:
|
|
ldr r1, _0205E480 ; =0x0000FFFF
|
|
add r0, r4, #0
|
|
bl MapObject_SetGfxID
|
|
ldr r1, _0205E484 ; =sub_0205FCC4
|
|
add r0, r4, #0
|
|
bl sub_0205F468
|
|
ldr r1, _0205E488 ; =sub_0205FCC8
|
|
add r0, r4, #0
|
|
bl sub_0205F47C
|
|
ldr r1, _0205E488 ; =sub_0205FCC8
|
|
add r0, r4, #0
|
|
bl sub_0205F490
|
|
ldr r1, _0205E48C ; =sub_0205FCCC
|
|
add r0, r4, #0
|
|
bl sub_0205F4A4
|
|
ldr r1, _0205E490 ; =sub_0205FCD0
|
|
add r0, r4, #0
|
|
bl sub_0205F4B8
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0205E480: .word 0x0000FFFF
|
|
_0205E484: .word sub_0205FCC4
|
|
_0205E488: .word sub_0205FCC8
|
|
_0205E48C: .word sub_0205FCCC
|
|
_0205E490: .word sub_0205FCD0
|
|
thumb_func_end sub_0205E420
|
|
|
|
thumb_func_start sub_0205E494
|
|
sub_0205E494: ; 0x0205E494
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
bl MapObjectMan_GetCount
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObjectMan_GetArray
|
|
mov r7, #0x4b
|
|
add r5, r0, #0
|
|
lsl r7, r7, #2
|
|
_0205E4AC:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MapObject_GetBitsMask
|
|
cmp r0, #0
|
|
beq _0205E4BE
|
|
add r0, r5, #0
|
|
bl MapObject_Remove
|
|
_0205E4BE:
|
|
add r4, r4, #1
|
|
add r5, r5, r7
|
|
cmp r4, r6
|
|
blt _0205E4AC
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end sub_0205E494
|
|
|
|
thumb_func_start sub_0205E4C8
|
|
sub_0205E4C8: ; 0x0205E4C8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
bl sub_0205F5D4
|
|
cmp r0, #1
|
|
beq _0205E4D8
|
|
bl GF_AssertFail
|
|
_0205E4D8:
|
|
add r0, r5, #0
|
|
mov r4, #0
|
|
bl MapObjectMan_GetCount
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObjectMan_GetArray
|
|
mov r7, #0x4b
|
|
add r5, r0, #0
|
|
lsl r7, r7, #2
|
|
_0205E4EE:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MapObject_GetBitsMask
|
|
cmp r0, #0
|
|
beq _0205E514
|
|
mov r1, #1
|
|
add r0, r5, #0
|
|
lsl r1, r1, #0xe
|
|
bl MapObject_GetBitsMask
|
|
cmp r0, #0
|
|
beq _0205E514
|
|
add r0, r5, #0
|
|
bl sub_0205F4AC
|
|
add r0, r5, #0
|
|
bl sub_0205EF6C
|
|
_0205E514:
|
|
add r4, r4, #1
|
|
add r5, r5, r7
|
|
cmp r4, r6
|
|
blt _0205E4EE
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205E4C8
|
|
|
|
thumb_func_start sub_0205E520
|
|
sub_0205E520: ; 0x0205E520
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
bl sub_0205F5D4
|
|
cmp r0, #1
|
|
beq _0205E530
|
|
bl GF_AssertFail
|
|
_0205E530:
|
|
add r0, r5, #0
|
|
mov r4, #0
|
|
bl MapObjectMan_GetCount
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObjectMan_GetArray
|
|
mov r7, #0x4b
|
|
add r5, r0, #0
|
|
lsl r7, r7, #2
|
|
_0205E546:
|
|
add r0, r5, #0
|
|
bl MapObject_IsInUse
|
|
cmp r0, #1
|
|
bne _0205E574
|
|
add r0, r5, #0
|
|
bl sub_0205F678
|
|
cmp r0, #1
|
|
bne _0205E562
|
|
add r0, r5, #0
|
|
bl sub_0205F4C0
|
|
b _0205E568
|
|
_0205E562:
|
|
add r0, r5, #0
|
|
bl sub_0205EFB4
|
|
_0205E568:
|
|
add r0, r5, #0
|
|
bl sub_0205EF48
|
|
add r0, r5, #0
|
|
bl sub_020611DC
|
|
_0205E574:
|
|
add r4, r4, #1
|
|
add r5, r5, r7
|
|
cmp r4, r6
|
|
blt _0205E546
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205E520
|
|
|
|
thumb_func_start sub_0205E580
|
|
sub_0205E580: ; 0x0205E580
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
bl sub_0205F5D4
|
|
cmp r0, #1
|
|
beq _0205E590
|
|
bl GF_AssertFail
|
|
_0205E590:
|
|
add r0, r5, #0
|
|
mov r4, #0
|
|
bl MapObjectMan_GetCount
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObjectMan_GetArray
|
|
mov r7, #0x4b
|
|
add r5, r0, #0
|
|
lsl r7, r7, #2
|
|
_0205E5A6:
|
|
add r0, r5, #0
|
|
bl MapObject_IsInUse
|
|
cmp r0, #1
|
|
bne _0205E5E0
|
|
add r0, r5, #0
|
|
bl MapObject_GetID
|
|
cmp r0, #0xff
|
|
bne _0205E5E0
|
|
add r0, r5, #0
|
|
bl sub_0205F678
|
|
cmp r0, #1
|
|
bne _0205E5CC
|
|
add r0, r5, #0
|
|
bl sub_0205F4C0
|
|
b _0205E5D2
|
|
_0205E5CC:
|
|
add r0, r5, #0
|
|
bl sub_0205EFB4
|
|
_0205E5D2:
|
|
add r0, r5, #0
|
|
bl sub_0205EF48
|
|
add r0, r5, #0
|
|
bl sub_020611DC
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205E5E0:
|
|
add r4, r4, #1
|
|
add r5, r5, r7
|
|
cmp r4, r6
|
|
blt _0205E5A6
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205E580
|
|
|
|
thumb_func_start sub_0205E5EC
|
|
sub_0205E5EC: ; 0x0205E5EC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r7, r0, #0
|
|
add r6, r1, #0
|
|
mov r0, #0
|
|
add r5, r2, #0
|
|
add r4, r3, #0
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
add r1, sp, #0
|
|
add r2, sp, #4
|
|
mov r3, #1
|
|
bl sub_0205EEF4
|
|
cmp r0, #0
|
|
beq _0205E632
|
|
_0205E60C:
|
|
ldr r1, [sp]
|
|
add r0, r7, #0
|
|
add r2, r5, #0
|
|
bl sub_0205E680
|
|
sub r4, r4, #1
|
|
add r5, #0x50
|
|
cmp r4, #0
|
|
bgt _0205E622
|
|
bl GF_AssertFail
|
|
_0205E622:
|
|
add r0, r6, #0
|
|
add r1, sp, #0
|
|
add r2, sp, #4
|
|
mov r3, #1
|
|
bl sub_0205EEF4
|
|
cmp r0, #0
|
|
bne _0205E60C
|
|
_0205E632:
|
|
cmp r4, #0
|
|
beq _0205E642
|
|
mov r2, #0x50
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
mul r2, r4
|
|
bl memset
|
|
_0205E642:
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205E5EC
|
|
|
|
thumb_func_start sub_0205E648
|
|
sub_0205E648: ; 0x0205E648
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
add r7, r2, #0
|
|
beq _0205E67E
|
|
_0205E652:
|
|
ldr r1, [r5]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _0205E678
|
|
add r0, r6, #0
|
|
bl sub_0205EA64
|
|
add r4, r0, #0
|
|
bne _0205E668
|
|
bl GF_AssertFail
|
|
_0205E668:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_0205E7C4
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl sub_0205E8EC
|
|
_0205E678:
|
|
add r5, #0x50
|
|
sub r7, r7, #1
|
|
bne _0205E652
|
|
_0205E67E:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end sub_0205E648
|
|
|
|
thumb_func_start sub_0205E680
|
|
sub_0205E680: ; 0x0205E680
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
add r4, r2, #0
|
|
add r0, r5, #0
|
|
bl MapObject_GetBitsWord
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
bl sub_0205F23C
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
bl MapObject_GetID
|
|
strb r0, [r4, #8]
|
|
add r0, r5, #0
|
|
bl sub_0205F254
|
|
strh r0, [r4, #0x10]
|
|
add r0, r5, #0
|
|
bl MapObject_GetGfxID
|
|
strh r0, [r4, #0x12]
|
|
add r0, r5, #0
|
|
bl MapObject_GetMovement
|
|
strb r0, [r4, #9]
|
|
add r0, r5, #0
|
|
bl MapObject_GetType
|
|
strh r0, [r4, #0x14]
|
|
add r0, r5, #0
|
|
bl MapObject_GetFlagID
|
|
strh r0, [r4, #0x16]
|
|
add r0, r5, #0
|
|
bl MapObject_GetScript
|
|
strh r0, [r4, #0x18]
|
|
add r0, r5, #0
|
|
bl MapObject_GetInitialFacing
|
|
strb r0, [r4, #0xc]
|
|
add r0, r5, #0
|
|
bl MapObject_GetFacingDirection
|
|
strb r0, [r4, #0xd]
|
|
add r0, r5, #0
|
|
bl MapObject_GetNextFacing
|
|
strb r0, [r4, #0xe]
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl MapObject_GetParam
|
|
strh r0, [r4, #0x1a]
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MapObject_GetParam
|
|
strh r0, [r4, #0x1c]
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl MapObject_GetParam
|
|
strh r0, [r4, #0x1e]
|
|
add r0, r5, #0
|
|
bl MapObject_GetXRange
|
|
strb r0, [r4, #0xa]
|
|
add r0, r5, #0
|
|
bl MapObject_GetYRange
|
|
strb r0, [r4, #0xb]
|
|
add r0, r5, #0
|
|
bl MapObject_GetInitialX
|
|
strh r0, [r4, #0x20]
|
|
add r0, r5, #0
|
|
bl MapObject_GetInitialHeight
|
|
strh r0, [r4, #0x22]
|
|
add r0, r5, #0
|
|
bl MapObject_GetInitialY
|
|
strh r0, [r4, #0x24]
|
|
add r0, r5, #0
|
|
bl MapObject_GetCurrentX
|
|
strh r0, [r4, #0x26]
|
|
add r0, r5, #0
|
|
bl MapObject_GetCurrentHeight
|
|
strh r0, [r4, #0x28]
|
|
add r0, r5, #0
|
|
bl MapObject_GetCurrentY
|
|
strh r0, [r4, #0x2a]
|
|
mov r0, #0x26
|
|
mov r1, #0x2a
|
|
ldrsh r0, [r4, r0]
|
|
ldrsh r1, [r4, r1]
|
|
add r2, sp, #0
|
|
bl sub_020611C8
|
|
add r0, r5, #0
|
|
bl MapObject_GetPosVecYCoord
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
bl sub_0205F8B8
|
|
add r2, r0, #0
|
|
add r0, r6, #0
|
|
add r1, sp, #0
|
|
bl sub_02061248
|
|
cmp r0, #0
|
|
bne _0205E77C
|
|
add r0, r5, #0
|
|
bl MapObject_GetPosVecYCoord
|
|
str r0, [r4, #0x2c]
|
|
b _0205E792
|
|
_0205E77C:
|
|
add r0, r5, #0
|
|
bl sub_0205F784
|
|
cmp r0, #1
|
|
bne _0205E78E
|
|
add r0, r5, #0
|
|
bl MapObject_GetPosVecYCoord
|
|
str r0, [sp, #4]
|
|
_0205E78E:
|
|
ldr r0, [sp, #4]
|
|
str r0, [r4, #0x2c]
|
|
_0205E792:
|
|
add r0, r5, #0
|
|
bl sub_0205F394
|
|
add r3, r4, #0
|
|
add r3, #0x30
|
|
mov r2, #0x10
|
|
_0205E79E:
|
|
ldrb r1, [r0]
|
|
add r0, r0, #1
|
|
strb r1, [r3]
|
|
add r3, r3, #1
|
|
sub r2, r2, #1
|
|
bne _0205E79E
|
|
add r0, r5, #0
|
|
bl sub_0205F3BC
|
|
add r4, #0x40
|
|
mov r2, #0x10
|
|
_0205E7B4:
|
|
ldrb r1, [r0]
|
|
add r0, r0, #1
|
|
strb r1, [r4]
|
|
add r4, r4, #1
|
|
sub r2, r2, #1
|
|
bne _0205E7B4
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end sub_0205E680
|
|
|
|
thumb_func_start sub_0205E7C4
|
|
sub_0205E7C4: ; 0x0205E7C4
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
add r5, r0, #0
|
|
bl sub_0205F204
|
|
ldr r1, [r4, #4]
|
|
add r0, r5, #0
|
|
bl sub_0205F238
|
|
ldrb r1, [r4, #8]
|
|
add r0, r5, #0
|
|
bl MapObject_SetID
|
|
ldrh r1, [r4, #0x10]
|
|
add r0, r5, #0
|
|
bl sub_0205F250
|
|
ldrh r1, [r4, #0x12]
|
|
add r0, r5, #0
|
|
bl MapObject_SetGfxID
|
|
ldrb r1, [r4, #9]
|
|
add r0, r5, #0
|
|
bl MapObject_SetMovement
|
|
ldrh r1, [r4, #0x14]
|
|
add r0, r5, #0
|
|
bl MapObject_SetType
|
|
ldrh r1, [r4, #0x16]
|
|
add r0, r5, #0
|
|
bl MapObject_SetFlagID
|
|
ldrh r1, [r4, #0x18]
|
|
add r0, r5, #0
|
|
bl MapObject_SetScript
|
|
mov r1, #0xc
|
|
ldrsb r1, [r4, r1]
|
|
add r0, r5, #0
|
|
bl MapObject_SetInitialFacing
|
|
mov r1, #0xd
|
|
ldrsb r1, [r4, r1]
|
|
add r0, r5, #0
|
|
bl MapObject_ForceSetFacingDirection
|
|
mov r1, #0xe
|
|
ldrsb r1, [r4, r1]
|
|
add r0, r5, #0
|
|
bl MapObject_SetNextFacing
|
|
mov r1, #0x1a
|
|
ldrsh r1, [r4, r1]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl MapObject_SetParam
|
|
mov r1, #0x1c
|
|
ldrsh r1, [r4, r1]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
bl MapObject_SetParam
|
|
mov r1, #0x1e
|
|
ldrsh r1, [r4, r1]
|
|
add r0, r5, #0
|
|
mov r2, #2
|
|
bl MapObject_SetParam
|
|
mov r1, #0xa
|
|
ldrsb r1, [r4, r1]
|
|
add r0, r5, #0
|
|
bl MapObject_SetXRange
|
|
mov r1, #0xb
|
|
ldrsb r1, [r4, r1]
|
|
add r0, r5, #0
|
|
bl MapObject_SetYRange
|
|
mov r1, #0x20
|
|
ldrsh r1, [r4, r1]
|
|
add r0, r5, #0
|
|
bl MapObject_SetInitialX
|
|
mov r1, #0x22
|
|
ldrsh r1, [r4, r1]
|
|
add r0, r5, #0
|
|
bl MapObject_SetInitialHeight
|
|
mov r1, #0x24
|
|
ldrsh r1, [r4, r1]
|
|
add r0, r5, #0
|
|
bl MapObject_SetInitialY
|
|
mov r1, #0x26
|
|
ldrsh r1, [r4, r1]
|
|
add r0, r5, #0
|
|
bl MapObject_SetCurrentX
|
|
mov r1, #0x28
|
|
ldrsh r1, [r4, r1]
|
|
add r0, r5, #0
|
|
bl MapObject_SetCurrentHeight
|
|
mov r1, #0x2a
|
|
ldrsh r1, [r4, r1]
|
|
add r0, r5, #0
|
|
bl MapObject_SetCurrentY
|
|
add r1, sp, #0
|
|
mov r0, #0
|
|
str r0, [r1]
|
|
str r0, [r1, #4]
|
|
str r0, [r1, #8]
|
|
ldr r0, [r4, #0x2c]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
bl MapObject_SetPositionVec
|
|
add r0, r5, #0
|
|
bl sub_0205F394
|
|
add r3, r4, #0
|
|
add r3, #0x30
|
|
mov r2, #0x10
|
|
_0205E8C4:
|
|
ldrb r1, [r3]
|
|
add r3, r3, #1
|
|
strb r1, [r0]
|
|
add r0, r0, #1
|
|
sub r2, r2, #1
|
|
bne _0205E8C4
|
|
add r0, r5, #0
|
|
bl sub_0205F3BC
|
|
add r4, #0x40
|
|
mov r2, #0x10
|
|
_0205E8DA:
|
|
ldrb r1, [r4]
|
|
add r4, r4, #1
|
|
strb r1, [r0]
|
|
add r0, r0, #1
|
|
sub r2, r2, #1
|
|
bne _0205E8DA
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205E7C4
|
|
|
|
thumb_func_start sub_0205E8EC
|
|
sub_0205E8EC: ; 0x0205E8EC
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl sub_0205E934
|
|
add r0, r4, #0
|
|
bl sub_0205E954
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_0205F354
|
|
add r0, r4, #0
|
|
bl sub_0205ECE0
|
|
add r0, r4, #0
|
|
bl MapObject_ClearHeldMovement
|
|
add r0, r4, #0
|
|
bl sub_0205EFB4
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl sub_0205EAF0
|
|
add r0, r4, #0
|
|
bl sub_0205F450
|
|
add r0, r5, #0
|
|
bl sub_0205F160
|
|
bl sub_0205F16C
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205E8EC
|
|
|
|
thumb_func_start sub_0205E934
|
|
sub_0205E934: ; 0x0205E934
|
|
push {r4, lr}
|
|
mov r1, #5
|
|
add r4, r0, #0
|
|
bl MapObject_SetBits
|
|
ldr r1, _0205E950 ; =0x00EF4248
|
|
add r0, r4, #0
|
|
bl MapObject_ClearBits
|
|
add r0, r4, #0
|
|
bl sub_0205EF5C
|
|
pop {r4, pc}
|
|
nop
|
|
_0205E950: .word 0x00EF4248
|
|
thumb_func_end sub_0205E934
|
|
|
|
thumb_func_start sub_0205E954
|
|
sub_0205E954: ; 0x0205E954
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
add r1, sp, #0
|
|
bl MapObject_GetPositionVec
|
|
add r0, r4, #0
|
|
bl MapObject_GetCurrentX
|
|
add r1, r0, #0
|
|
mov r0, #2
|
|
lsl r2, r1, #0x10
|
|
lsl r0, r0, #0xe
|
|
add r0, r2, r0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
bl MapObject_SetPrevX
|
|
add r0, r4, #0
|
|
bl MapObject_GetCurrentHeight
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl MapObject_SetPrevHeight
|
|
add r0, r4, #0
|
|
bl MapObject_GetCurrentY
|
|
add r1, r0, #0
|
|
mov r0, #2
|
|
lsl r2, r1, #0x10
|
|
lsl r0, r0, #0xe
|
|
add r0, r2, r0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
bl MapObject_SetPrevY
|
|
add r0, r4, #0
|
|
add r1, sp, #0
|
|
bl MapObject_SetPositionVec
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205E954
|
|
|
|
thumb_func_start InitMapObjectsFromEventTemplates
|
|
InitMapObjectsFromEventTemplates: ; 0x0205E9AC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r2, #0
|
|
add r7, r0, #0
|
|
add r4, r3, #0
|
|
str r1, [sp]
|
|
cmp r5, #0
|
|
bne _0205E9C0
|
|
bl GF_AssertFail
|
|
_0205E9C0:
|
|
lsl r0, r5, #5
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #4]
|
|
mov r0, #0xb
|
|
bl AllocFromHeapAtEnd
|
|
add r6, r0, #0
|
|
bne _0205E9D4
|
|
bl GF_AssertFail
|
|
_0205E9D4:
|
|
ldr r2, [sp, #4]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl memcpy
|
|
mov r0, #0xb
|
|
mov r1, #0x14
|
|
bl AllocFromHeapAtEnd
|
|
add r4, r0, #0
|
|
bne _0205E9EE
|
|
bl GF_AssertFail
|
|
_0205E9EE:
|
|
ldr r0, [sp]
|
|
str r0, [r4]
|
|
str r5, [r4, #4]
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
str r7, [r4, #0xc]
|
|
add r0, r4, #0
|
|
str r6, [r4, #0x10]
|
|
bl sub_0205EA08
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end InitMapObjectsFromEventTemplates
|
|
|
|
thumb_func_start sub_0205EA08
|
|
sub_0205EA08: ; 0x0205EA08
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
bl MapObjectMan_GetFieldSysPtr
|
|
add r6, r5, #0
|
|
ldr r4, [r5, #0x10]
|
|
add r7, r0, #0
|
|
add r6, #8
|
|
_0205EA1A:
|
|
add r0, r4, #0
|
|
bl ObjectEventTemplate_ScriptIdIsFFFF
|
|
cmp r0, #1
|
|
beq _0205EA30
|
|
ldrh r1, [r4, #8]
|
|
add r0, r7, #0
|
|
bl FlagGet
|
|
cmp r0, #0
|
|
bne _0205EA42
|
|
_0205EA30:
|
|
ldr r0, [r5, #0xc]
|
|
ldr r2, [r5]
|
|
add r1, r4, #0
|
|
bl sub_0205E1D0
|
|
cmp r0, #0
|
|
bne _0205EA42
|
|
bl GF_AssertFail
|
|
_0205EA42:
|
|
ldr r0, [r6]
|
|
add r4, #0x20
|
|
add r0, r0, #1
|
|
str r0, [r6]
|
|
ldr r1, [r5, #8]
|
|
ldr r0, [r5, #4]
|
|
cmp r1, r0
|
|
blt _0205EA1A
|
|
ldr r1, [r5, #0x10]
|
|
mov r0, #0xb
|
|
bl FreeToHeapExplicit
|
|
mov r0, #0xb
|
|
add r1, r5, #0
|
|
bl FreeToHeapExplicit
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end sub_0205EA08
|
|
|
|
thumb_func_start sub_0205EA64
|
|
sub_0205EA64: ; 0x0205EA64
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
bl MapObjectMan_GetCount
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObjectMan_GetArray
|
|
mov r7, #0x4b
|
|
add r5, r0, #0
|
|
lsl r7, r7, #2
|
|
_0205EA7C:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MapObject_GetBitsMask
|
|
cmp r0, #0
|
|
bne _0205EA8C
|
|
add r0, r5, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205EA8C:
|
|
add r4, r4, #1
|
|
add r5, r5, r7
|
|
cmp r4, r6
|
|
blt _0205EA7C
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end sub_0205EA64
|
|
|
|
thumb_func_start sub_0205EA98
|
|
sub_0205EA98: ; 0x0205EA98
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
mov r1, #0
|
|
add r4, r2, #0
|
|
str r1, [sp, #4]
|
|
add r1, sp, #0
|
|
add r2, sp, #4
|
|
mov r3, #1
|
|
add r6, r0, #0
|
|
bl sub_0205EEF4
|
|
cmp r0, #1
|
|
bne _0205EAEA
|
|
add r7, sp, #0
|
|
_0205EAB6:
|
|
ldr r0, [sp]
|
|
bl sub_0205F7D4
|
|
cmp r0, #1
|
|
bne _0205EADA
|
|
ldr r0, [sp]
|
|
bl MapObject_GetID
|
|
cmp r5, r0
|
|
bne _0205EADA
|
|
ldr r0, [sp]
|
|
bl sub_0205F544
|
|
cmp r4, r0
|
|
bne _0205EADA
|
|
ldr r0, [sp]
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205EADA:
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
add r2, sp, #4
|
|
mov r3, #1
|
|
bl sub_0205EEF4
|
|
cmp r0, #1
|
|
beq _0205EAB6
|
|
_0205EAEA:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end sub_0205EA98
|
|
|
|
thumb_func_start sub_0205EAF0
|
|
sub_0205EAF0: ; 0x0205EAF0
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
bl sub_0205F19C
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl MapObject_GetMovement
|
|
cmp r0, #0x30
|
|
beq _0205EB08
|
|
cmp r0, #0x32
|
|
bne _0205EB0A
|
|
_0205EB08:
|
|
add r5, r5, #2
|
|
_0205EB0A:
|
|
ldr r0, _0205EB28 ; =sub_0205F12C
|
|
add r1, r4, #0
|
|
add r2, r5, #0
|
|
bl sub_0200E320
|
|
add r5, r0, #0
|
|
bne _0205EB1C
|
|
bl GF_AssertFail
|
|
_0205EB1C:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_0205F338
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0205EB28: .word sub_0205F12C
|
|
thumb_func_end sub_0205EAF0
|
|
|
|
thumb_func_start sub_0205EB2C
|
|
sub_0205EB2C: ; 0x0205EB2C
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r6, r2, #0
|
|
bl ObjectEventTemplate_GetID
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObject_SetID
|
|
add r0, r4, #0
|
|
bl ObjectEventTemplate_GetSprite
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
bl ResolveObjectGfxId
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObject_SetGfxID
|
|
add r0, r4, #0
|
|
bl ObjectEventTemplate_GetMovement
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObject_SetMovement
|
|
add r0, r4, #0
|
|
bl ObjectEventTemplate_GetType
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObject_SetType
|
|
add r0, r4, #0
|
|
bl ObjectEventTemplate_GetFlagID
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObject_SetFlagID
|
|
add r0, r4, #0
|
|
bl ObjectEventTemplate_GetScript
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObject_SetScript
|
|
add r0, r4, #0
|
|
bl ObjectEventTemplate_GetFacing
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObject_SetInitialFacing
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ObjectEventTemplate_GetParam
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl MapObject_SetParam
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ObjectEventTemplate_GetParam
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
bl MapObject_SetParam
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl ObjectEventTemplate_GetParam
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
mov r2, #2
|
|
bl MapObject_SetParam
|
|
add r0, r4, #0
|
|
bl ObjectEventTemplate_GetXRange
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObject_SetXRange
|
|
add r0, r4, #0
|
|
bl ObjectEventTemplate_GetYRange
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObject_SetYRange
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl sub_0205EBFC
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205EB2C
|
|
|
|
thumb_func_start sub_0205EBFC
|
|
sub_0205EBFC: ; 0x0205EBFC
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r6, r1, #0
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl ObjectEventTemplate_GetXCoord
|
|
add r5, r0, #0
|
|
mov r0, #2
|
|
lsl r1, r5, #0x10
|
|
lsl r0, r0, #0xe
|
|
add r0, r1, r0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MapObject_SetInitialX
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MapObject_SetPrevX
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MapObject_SetCurrentX
|
|
add r0, r6, #0
|
|
bl ObjectEventTemplate_GetHeight
|
|
asr r1, r0, #3
|
|
str r0, [sp, #4]
|
|
asr r0, r1, #0xb
|
|
lsr r0, r0, #0x14
|
|
add r0, r1, r0
|
|
asr r5, r0, #0xc
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MapObject_SetInitialHeight
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MapObject_SetPrevHeight
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MapObject_SetCurrentHeight
|
|
add r0, r6, #0
|
|
bl ObjectEventTemplate_GetYCoord
|
|
add r5, r0, #0
|
|
mov r0, #2
|
|
lsl r1, r5, #0x10
|
|
lsl r0, r0, #0xe
|
|
add r0, r1, r0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MapObject_SetInitialY
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MapObject_SetPrevY
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MapObject_SetCurrentY
|
|
add r0, r4, #0
|
|
add r1, sp, #0
|
|
bl MapObject_SetPositionVec
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205EBFC
|
|
|
|
thumb_func_start sub_0205EC90
|
|
sub_0205EC90: ; 0x0205EC90
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
ldr r1, _0205ECDC ; =0x00001801
|
|
add r5, r0, #0
|
|
bl MapObject_SetBits
|
|
add r0, r5, #0
|
|
bl sub_0205EFF8
|
|
cmp r0, #1
|
|
bne _0205ECAE
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl sub_0205F7B8
|
|
_0205ECAE:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl sub_0205F354
|
|
add r0, r5, #0
|
|
bl MapObject_GetInitialFacing
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObject_ForceSetFacingDirection
|
|
add r0, r5, #0
|
|
bl MapObject_GetInitialFacing
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObject_SetNextFacing
|
|
add r0, r5, #0
|
|
bl MapObject_ClearHeldMovement
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0205ECDC: .word 0x00001801
|
|
thumb_func_end sub_0205EC90
|
|
|
|
thumb_func_start sub_0205ECE0
|
|
sub_0205ECE0: ; 0x0205ECE0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl MapObject_GetMovement
|
|
bl sub_0205FB00
|
|
add r4, r0, #0
|
|
bl sub_0205FB18
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl sub_0205F414
|
|
add r0, r4, #0
|
|
bl sub_0205FB1C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl sub_0205F428
|
|
add r0, r4, #0
|
|
bl sub_0205FB20
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl sub_0205F43C
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end sub_0205ECE0
|
|
|
|
thumb_func_start sub_0205ED18
|
|
sub_0205ED18: ; 0x0205ED18
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl MapObject_GetGfxID
|
|
mov r1, #2
|
|
lsl r1, r1, #0xc
|
|
cmp r0, r1
|
|
bne _0205ED2C
|
|
ldr r5, _0205ED7C ; =ov01_0220724C
|
|
b _0205ED32
|
|
_0205ED2C:
|
|
bl sub_0205FB38
|
|
add r5, r0, #0
|
|
_0205ED32:
|
|
add r0, r5, #0
|
|
bl sub_0205FB24
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl sub_0205F468
|
|
add r0, r5, #0
|
|
bl sub_0205FB28
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl sub_0205F47C
|
|
add r0, r5, #0
|
|
bl sub_0205FB2C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl sub_0205F490
|
|
add r0, r5, #0
|
|
bl sub_0205FB30
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl sub_0205F4A4
|
|
add r0, r5, #0
|
|
bl sub_0205FB34
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl sub_0205F4B8
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0205ED7C: .word ov01_0220724C
|
|
thumb_func_end sub_0205ED18
|
|
|
|
thumb_func_start sub_0205ED80
|
|
sub_0205ED80: ; 0x0205ED80
|
|
ldr r3, _0205ED8C ; =memset
|
|
mov r2, #0x4b
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
bx r3
|
|
nop
|
|
_0205ED8C: .word memset
|
|
thumb_func_end sub_0205ED80
|
|
|
|
thumb_func_start sub_0205ED90
|
|
sub_0205ED90: ; 0x0205ED90
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r2, #0
|
|
add r5, r0, #0
|
|
add r6, r3, #0
|
|
str r1, [sp]
|
|
cmp r7, #0
|
|
beq _0205EE0A
|
|
_0205ED9E:
|
|
add r0, r6, #0
|
|
bl ObjectEventTemplate_GetID
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObject_GetID
|
|
cmp r4, r0
|
|
bne _0205EE02
|
|
add r0, r6, #0
|
|
bl ObjectEventTemplate_ScriptIdIsFFFF
|
|
cmp r0, #1
|
|
bne _0205EDE8
|
|
add r0, r6, #0
|
|
bl ObjectEventTemplate_GetFlagID_AssertScriptIdIsFFFF
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl sub_0205F7D4
|
|
cmp r0, #1
|
|
bne _0205EDDA
|
|
add r0, r5, #0
|
|
bl sub_0205F544
|
|
cmp r4, r0
|
|
bne _0205EE02
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205EDDA:
|
|
add r0, r5, #0
|
|
bl sub_0205F254
|
|
cmp r4, r0
|
|
bne _0205EE02
|
|
mov r0, #2
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205EDE8:
|
|
add r0, r5, #0
|
|
bl sub_0205F7D4
|
|
cmp r0, #1
|
|
bne _0205EE02
|
|
add r0, r5, #0
|
|
bl sub_0205F544
|
|
ldr r1, [sp]
|
|
cmp r1, r0
|
|
bne _0205EE02
|
|
mov r0, #2
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205EE02:
|
|
sub r7, r7, #1
|
|
add r6, #0x20
|
|
cmp r7, #0
|
|
bne _0205ED9E
|
|
_0205EE0A:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205ED90
|
|
|
|
thumb_func_start sub_0205EE10
|
|
sub_0205EE10: ; 0x0205EE10
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
mov r1, #0
|
|
add r4, r2, #0
|
|
str r1, [sp, #4]
|
|
add r1, sp, #0
|
|
add r2, sp, #4
|
|
mov r3, #1
|
|
add r6, r0, #0
|
|
bl sub_0205EEF4
|
|
cmp r0, #1
|
|
bne _0205EE58
|
|
add r7, sp, #0
|
|
_0205EE2E:
|
|
ldr r0, [sp]
|
|
bl MapObject_GetID
|
|
cmp r5, r0
|
|
bne _0205EE48
|
|
ldr r0, [sp]
|
|
bl sub_0205F254
|
|
cmp r4, r0
|
|
bne _0205EE48
|
|
ldr r0, [sp]
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205EE48:
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
add r2, sp, #4
|
|
mov r3, #1
|
|
bl sub_0205EEF4
|
|
cmp r0, #1
|
|
beq _0205EE2E
|
|
_0205EE58:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205EE10
|
|
|
|
thumb_func_start GetMapObjectByID
|
|
GetMapObjectByID: ; 0x0205EE60
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
cmp r5, #0
|
|
bne _0205EE6E
|
|
bl GF_AssertFail
|
|
_0205EE6E:
|
|
add r0, r5, #0
|
|
bl MapObjectMan_GetCount
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObjectMan_GetConstArray
|
|
mov r7, #0x4b
|
|
add r5, r0, #0
|
|
lsl r7, r7, #2
|
|
_0205EE82:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MapObject_TestBits
|
|
cmp r0, #1
|
|
bne _0205EEA6
|
|
add r0, r5, #0
|
|
bl sub_0205F7D4
|
|
cmp r0, #0
|
|
bne _0205EEA6
|
|
add r0, r5, #0
|
|
bl MapObject_GetID
|
|
cmp r6, r0
|
|
bne _0205EEA6
|
|
add r0, r5, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205EEA6:
|
|
sub r4, r4, #1
|
|
add r5, r5, r7
|
|
cmp r4, #0
|
|
bgt _0205EE82
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end GetMapObjectByID
|
|
|
|
thumb_func_start sub_0205EEB4
|
|
sub_0205EEB4: ; 0x0205EEB4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
bl MapObjectMan_GetCount
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObjectMan_GetConstArray
|
|
mov r7, #0x4b
|
|
add r5, r0, #0
|
|
lsl r7, r7, #2
|
|
_0205EECC:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MapObject_TestBits
|
|
cmp r0, #1
|
|
bne _0205EEE6
|
|
add r0, r5, #0
|
|
bl MapObject_GetMovement
|
|
cmp r6, r0
|
|
bne _0205EEE6
|
|
add r0, r5, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205EEE6:
|
|
sub r4, r4, #1
|
|
add r5, r5, r7
|
|
cmp r4, #0
|
|
bgt _0205EECC
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205EEB4
|
|
|
|
thumb_func_start sub_0205EEF4
|
|
sub_0205EEF4: ; 0x0205EEF4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r2, #0
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
add r6, r3, #0
|
|
bl MapObjectMan_GetCount
|
|
add r7, r0, #0
|
|
ldr r0, [r5]
|
|
cmp r0, r7
|
|
blt _0205EF0E
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205EF0E:
|
|
add r0, r4, #0
|
|
bl MapObjectMan_GetConstArray
|
|
mov r1, #0x4b
|
|
ldr r2, [r5]
|
|
lsl r1, r1, #2
|
|
mul r1, r2
|
|
add r4, r0, r1
|
|
_0205EF1E:
|
|
ldr r0, [r5]
|
|
add r1, r6, #0
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
add r0, r4, #0
|
|
bl MapObject_GetBitsMask
|
|
cmp r6, r0
|
|
bne _0205EF38
|
|
ldr r0, [sp]
|
|
str r4, [r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205EF38:
|
|
mov r0, #0x4b
|
|
lsl r0, r0, #2
|
|
add r4, r4, r0
|
|
ldr r0, [r5]
|
|
cmp r0, r7
|
|
blt _0205EF1E
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end sub_0205EEF4
|
|
|
|
thumb_func_start sub_0205EF48
|
|
sub_0205EF48: ; 0x0205EF48
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #4
|
|
bl MapObject_SetBits
|
|
add r0, r4, #0
|
|
bl sub_0205EF5C
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205EF48
|
|
|
|
thumb_func_start sub_0205EF5C
|
|
sub_0205EF5C: ; 0x0205EF5C
|
|
ldr r3, _0205EF64 ; =MapObject_ClearBits
|
|
ldr r1, _0205EF68 ; =0x05108000
|
|
bx r3
|
|
nop
|
|
_0205EF64: .word MapObject_ClearBits
|
|
_0205EF68: .word 0x05108000
|
|
thumb_func_end sub_0205EF5C
|
|
|
|
thumb_func_start sub_0205EF6C
|
|
sub_0205EF6C: ; 0x0205EF6C
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205EF6C
|
|
|
|
thumb_func_start ResolveObjectGfxId
|
|
ResolveObjectGfxId: ; 0x0205EF70
|
|
push {r3, lr}
|
|
cmp r1, #0x65
|
|
blt _0205EF86
|
|
cmp r1, #0x75
|
|
bgt _0205EF86
|
|
sub r1, #0x65
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
bl VarGetObjectEventGraphicsId
|
|
add r1, r0, #0
|
|
_0205EF86:
|
|
add r0, r1, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ResolveObjectGfxId
|
|
|
|
thumb_func_start sub_0205EF8C
|
|
sub_0205EF8C: ; 0x0205EF8C
|
|
push {r4, lr}
|
|
mov r1, #1
|
|
lsl r1, r1, #0xc
|
|
add r4, r0, #0
|
|
bl MapObject_GetBitsMask
|
|
cmp r0, #0
|
|
beq _0205EFA2
|
|
add r0, r4, #0
|
|
bl sub_02061070
|
|
_0205EFA2:
|
|
pop {r4, pc}
|
|
thumb_func_end sub_0205EF8C
|
|
|
|
thumb_func_start sub_0205EFA4
|
|
sub_0205EFA4: ; 0x0205EFA4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_0205ECE0
|
|
add r0, r4, #0
|
|
bl sub_0205FD20
|
|
pop {r4, pc}
|
|
thumb_func_end sub_0205EFA4
|
|
|
|
thumb_func_start sub_0205EFB4
|
|
sub_0205EFB4: ; 0x0205EFB4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_0205F35C
|
|
bl sub_0205F5D4
|
|
cmp r0, #0
|
|
beq _0205EFF6
|
|
add r0, r4, #0
|
|
bl sub_0205EF8C
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl sub_0205F328
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov01_021FA2B8
|
|
add r0, r4, #0
|
|
bl sub_0205F678
|
|
cmp r0, #0
|
|
bne _0205EFF6
|
|
add r0, r4, #0
|
|
bl sub_0205ED18
|
|
add r0, r4, #0
|
|
bl sub_0205F470
|
|
add r0, r4, #0
|
|
bl sub_0205F66C
|
|
_0205EFF6:
|
|
pop {r4, pc}
|
|
thumb_func_end sub_0205EFB4
|
|
|
|
thumb_func_start sub_0205EFF8
|
|
sub_0205EFF8: ; 0x0205EFF8
|
|
push {r3, lr}
|
|
bl MapObject_GetScript
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
ldr r0, _0205F010 ; =0x0000FFFF
|
|
cmp r1, r0
|
|
bne _0205F00C
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0205F00C:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_0205F010: .word 0x0000FFFF
|
|
thumb_func_end sub_0205EFF8
|
|
|
|
thumb_func_start sub_0205F014
|
|
sub_0205F014: ; 0x0205F014
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
bl sub_0205F7D4
|
|
cmp r0, #1
|
|
beq _0205F028
|
|
bl GF_AssertFail
|
|
_0205F028:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl sub_0205F7B8
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl sub_0205F250
|
|
add r0, r4, #0
|
|
bl ObjectEventTemplate_GetScript
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObject_SetScript
|
|
add r0, r4, #0
|
|
bl ObjectEventTemplate_GetFlagID
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObject_SetFlagID
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F014
|
|
|
|
thumb_func_start sub_0205F058
|
|
sub_0205F058: ; 0x0205F058
|
|
push {r4, r5, r6, lr}
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r4, r1, #0
|
|
bl ObjectEventTemplate_ScriptIdIsFFFF
|
|
cmp r0, #1
|
|
beq _0205F06E
|
|
bl GF_AssertFail
|
|
_0205F06E:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl sub_0205F7B8
|
|
add r0, r6, #0
|
|
bl ObjectEventTemplate_GetScript
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObject_SetScript
|
|
add r0, r6, #0
|
|
bl ObjectEventTemplate_GetFlagID_AssertScriptIdIsFFFF
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObject_SetFlagID
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl sub_0205F250
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end sub_0205F058
|
|
|
|
thumb_func_start sub_0205F09C
|
|
sub_0205F09C: ; 0x0205F09C
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
bl sub_0205F538
|
|
add r0, r0, r4
|
|
pop {r4, pc}
|
|
thumb_func_end sub_0205F09C
|
|
|
|
thumb_func_start sub_0205F0A8
|
|
sub_0205F0A8: ; 0x0205F0A8
|
|
push {r4, r5, r6, lr}
|
|
add r6, r1, #0
|
|
mov r1, #1
|
|
add r5, r0, #0
|
|
add r4, r2, #0
|
|
bl MapObject_TestBits
|
|
cmp r0, #0
|
|
bne _0205F0BE
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_0205F0BE:
|
|
add r0, r5, #0
|
|
bl MapObject_GetID
|
|
cmp r6, r0
|
|
beq _0205F0CC
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_0205F0CC:
|
|
add r0, r5, #0
|
|
bl sub_0205F254
|
|
cmp r4, r0
|
|
beq _0205F0F2
|
|
add r0, r5, #0
|
|
bl sub_0205F7D4
|
|
cmp r0, #0
|
|
bne _0205F0E4
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_0205F0E4:
|
|
add r0, r5, #0
|
|
bl sub_0205F544
|
|
cmp r4, r0
|
|
beq _0205F0F2
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_0205F0F2:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F0A8
|
|
|
|
thumb_func_start sub_0205F0F8
|
|
sub_0205F0F8: ; 0x0205F0F8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
mov r1, #1
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
bl MapObject_TestBits
|
|
cmp r0, #0
|
|
bne _0205F110
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205F110:
|
|
add r0, r5, #0
|
|
bl MapObject_GetGfxID
|
|
cmp r0, r4
|
|
beq _0205F11E
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205F11E:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl sub_0205F0A8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F0F8
|
|
|
|
thumb_func_start sub_0205F12C
|
|
sub_0205F12C: ; 0x0205F12C
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
bl sub_0205FD30
|
|
add r0, r4, #0
|
|
bl MapObject_IsInUse
|
|
cmp r0, #0
|
|
beq _0205F146
|
|
add r0, r4, #0
|
|
bl sub_0205F148
|
|
_0205F146:
|
|
pop {r4, pc}
|
|
thumb_func_end sub_0205F12C
|
|
|
|
thumb_func_start sub_0205F148
|
|
sub_0205F148: ; 0x0205F148
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_0205F35C
|
|
bl sub_0205F5D4
|
|
cmp r0, #1
|
|
bne _0205F15E
|
|
add r0, r4, #0
|
|
bl ov01_021F92A0
|
|
_0205F15E:
|
|
pop {r4, pc}
|
|
thumb_func_end sub_0205F148
|
|
|
|
thumb_func_start sub_0205F160
|
|
sub_0205F160: ; 0x0205F160
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F160
|
|
|
|
thumb_func_start MapObjectMan_SetCount
|
|
MapObjectMan_SetCount: ; 0x0205F164
|
|
str r1, [r0, #4]
|
|
bx lr
|
|
thumb_func_end MapObjectMan_SetCount
|
|
|
|
thumb_func_start MapObjectMan_GetCount
|
|
MapObjectMan_GetCount: ; 0x0205F168
|
|
ldr r0, [r0, #4]
|
|
bx lr
|
|
thumb_func_end MapObjectMan_GetCount
|
|
|
|
thumb_func_start sub_0205F16C
|
|
sub_0205F16C: ; 0x0205F16C
|
|
ldr r1, [r0, #8]
|
|
add r1, r1, #1
|
|
str r1, [r0, #8]
|
|
bx lr
|
|
thumb_func_end sub_0205F16C
|
|
|
|
thumb_func_start sub_0205F174
|
|
sub_0205F174: ; 0x0205F174
|
|
ldr r1, [r0, #8]
|
|
sub r1, r1, #1
|
|
str r1, [r0, #8]
|
|
bx lr
|
|
thumb_func_end sub_0205F174
|
|
|
|
thumb_func_start sub_0205F17C
|
|
sub_0205F17C: ; 0x0205F17C
|
|
ldr r2, [r0]
|
|
orr r1, r2
|
|
str r1, [r0]
|
|
bx lr
|
|
thumb_func_end sub_0205F17C
|
|
|
|
thumb_func_start sub_0205F184
|
|
sub_0205F184: ; 0x0205F184
|
|
ldr r2, [r0]
|
|
mvn r1, r1
|
|
and r1, r2
|
|
str r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F184
|
|
|
|
thumb_func_start sub_0205F190
|
|
sub_0205F190: ; 0x0205F190
|
|
ldr r0, [r0]
|
|
and r0, r1
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F190
|
|
|
|
thumb_func_start sub_0205F198
|
|
sub_0205F198: ; 0x0205F198
|
|
str r1, [r0, #0xc]
|
|
bx lr
|
|
thumb_func_end sub_0205F198
|
|
|
|
thumb_func_start sub_0205F19C
|
|
sub_0205F19C: ; 0x0205F19C
|
|
ldr r0, [r0, #0xc]
|
|
bx lr
|
|
thumb_func_end sub_0205F19C
|
|
|
|
thumb_func_start sub_0205F1A0
|
|
sub_0205F1A0: ; 0x0205F1A0
|
|
add r0, #0x18
|
|
bx lr
|
|
thumb_func_end sub_0205F1A0
|
|
|
|
thumb_func_start sub_0205F1A4
|
|
sub_0205F1A4: ; 0x0205F1A4
|
|
mov r2, #0x49
|
|
lsl r2, r2, #2
|
|
str r1, [r0, r2]
|
|
bx lr
|
|
thumb_func_end sub_0205F1A4
|
|
|
|
thumb_func_start sub_0205F1AC
|
|
sub_0205F1AC: ; 0x0205F1AC
|
|
mov r1, #0x49
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
thumb_func_end sub_0205F1AC
|
|
|
|
thumb_func_start MapObjectMan_GetConstArray
|
|
MapObjectMan_GetConstArray: ; 0x0205F1B4
|
|
mov r1, #0x49
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
thumb_func_end MapObjectMan_GetConstArray
|
|
|
|
thumb_func_start MapObjectMan_GetArray
|
|
MapObjectMan_GetArray: ; 0x0205F1BC
|
|
mov r1, #0x49
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
thumb_func_end MapObjectMan_GetArray
|
|
|
|
thumb_func_start sub_0205F1C4
|
|
sub_0205F1C4: ; 0x0205F1C4
|
|
mov r1, #0x4b
|
|
ldr r2, [r0]
|
|
lsl r1, r1, #2
|
|
add r1, r2, r1
|
|
str r1, [r0]
|
|
bx lr
|
|
thumb_func_end sub_0205F1C4
|
|
|
|
thumb_func_start sub_0205F1D0
|
|
sub_0205F1D0: ; 0x0205F1D0
|
|
mov r1, #0x4b
|
|
ldr r2, [r0]
|
|
lsl r1, r1, #2
|
|
add r1, r2, r1
|
|
str r1, [r0]
|
|
bx lr
|
|
thumb_func_end sub_0205F1D0
|
|
|
|
thumb_func_start MapObjectMan_SetFieldSysPtr
|
|
MapObjectMan_SetFieldSysPtr: ; 0x0205F1DC
|
|
mov r2, #0x4a
|
|
lsl r2, r2, #2
|
|
str r1, [r0, r2]
|
|
bx lr
|
|
thumb_func_end MapObjectMan_SetFieldSysPtr
|
|
|
|
thumb_func_start MapObjectMan_GetFieldSysPtr
|
|
MapObjectMan_GetFieldSysPtr: ; 0x0205F1E4
|
|
mov r1, #0x4a
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
thumb_func_end MapObjectMan_GetFieldSysPtr
|
|
|
|
thumb_func_start FldObjSys_SetMModelNarc
|
|
FldObjSys_SetMModelNarc: ; 0x0205F1EC
|
|
str r1, [r0, #0x14]
|
|
bx lr
|
|
thumb_func_end FldObjSys_SetMModelNarc
|
|
|
|
thumb_func_start FldObjSys_GetMModelNarc
|
|
FldObjSys_GetMModelNarc: ; 0x0205F1F0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
bne _0205F1FE
|
|
bl GF_AssertFail
|
|
_0205F1FE:
|
|
ldr r0, [r4, #0x14]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end FldObjSys_GetMModelNarc
|
|
|
|
thumb_func_start sub_0205F204
|
|
sub_0205F204: ; 0x0205F204
|
|
str r1, [r0]
|
|
bx lr
|
|
thumb_func_end sub_0205F204
|
|
|
|
thumb_func_start MapObject_GetBitsWord
|
|
MapObject_GetBitsWord: ; 0x0205F208
|
|
ldr r0, [r0]
|
|
bx lr
|
|
thumb_func_end MapObject_GetBitsWord
|
|
|
|
thumb_func_start MapObject_SetBits
|
|
MapObject_SetBits: ; 0x0205F20C
|
|
ldr r2, [r0]
|
|
orr r1, r2
|
|
str r1, [r0]
|
|
bx lr
|
|
thumb_func_end MapObject_SetBits
|
|
|
|
thumb_func_start MapObject_ClearBits
|
|
MapObject_ClearBits: ; 0x0205F214
|
|
ldr r2, [r0]
|
|
mvn r1, r1
|
|
and r1, r2
|
|
str r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end MapObject_ClearBits
|
|
|
|
thumb_func_start MapObject_GetBitsMask
|
|
MapObject_GetBitsMask: ; 0x0205F220
|
|
ldr r0, [r0]
|
|
and r0, r1
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end MapObject_GetBitsMask
|
|
|
|
thumb_func_start MapObject_TestBits
|
|
MapObject_TestBits: ; 0x0205F228
|
|
ldr r0, [r0]
|
|
tst r0, r1
|
|
beq _0205F232
|
|
mov r0, #1
|
|
bx lr
|
|
_0205F232:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end MapObject_TestBits
|
|
|
|
thumb_func_start sub_0205F238
|
|
sub_0205F238: ; 0x0205F238
|
|
str r1, [r0, #4]
|
|
bx lr
|
|
thumb_func_end sub_0205F238
|
|
|
|
thumb_func_start sub_0205F23C
|
|
sub_0205F23C: ; 0x0205F23C
|
|
ldr r0, [r0, #4]
|
|
bx lr
|
|
thumb_func_end sub_0205F23C
|
|
|
|
thumb_func_start sub_0205F240
|
|
sub_0205F240: ; 0x0205F240
|
|
ldr r0, [r0, #4]
|
|
and r0, r1
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F240
|
|
|
|
thumb_func_start MapObject_SetID
|
|
MapObject_SetID: ; 0x0205F248
|
|
str r1, [r0, #8]
|
|
bx lr
|
|
thumb_func_end MapObject_SetID
|
|
|
|
thumb_func_start MapObject_GetID
|
|
MapObject_GetID: ; 0x0205F24C
|
|
ldr r0, [r0, #8]
|
|
bx lr
|
|
thumb_func_end MapObject_GetID
|
|
|
|
thumb_func_start sub_0205F250
|
|
sub_0205F250: ; 0x0205F250
|
|
str r1, [r0, #0xc]
|
|
bx lr
|
|
thumb_func_end sub_0205F250
|
|
|
|
thumb_func_start sub_0205F254
|
|
sub_0205F254: ; 0x0205F254
|
|
ldr r0, [r0, #0xc]
|
|
bx lr
|
|
thumb_func_end sub_0205F254
|
|
|
|
thumb_func_start MapObject_SetGfxID
|
|
MapObject_SetGfxID: ; 0x0205F258
|
|
str r1, [r0, #0x10]
|
|
bx lr
|
|
thumb_func_end MapObject_SetGfxID
|
|
|
|
thumb_func_start MapObject_GetGfxID
|
|
MapObject_GetGfxID: ; 0x0205F25C
|
|
ldr r0, [r0, #0x10]
|
|
bx lr
|
|
thumb_func_end MapObject_GetGfxID
|
|
|
|
thumb_func_start MapObject_SetMovement
|
|
MapObject_SetMovement: ; 0x0205F260
|
|
str r1, [r0, #0x14]
|
|
bx lr
|
|
thumb_func_end MapObject_SetMovement
|
|
|
|
thumb_func_start MapObject_GetMovement
|
|
MapObject_GetMovement: ; 0x0205F264
|
|
ldr r0, [r0, #0x14]
|
|
bx lr
|
|
thumb_func_end MapObject_GetMovement
|
|
|
|
thumb_func_start MapObject_SetType
|
|
MapObject_SetType: ; 0x0205F268
|
|
str r1, [r0, #0x18]
|
|
bx lr
|
|
thumb_func_end MapObject_SetType
|
|
|
|
thumb_func_start MapObject_GetType
|
|
MapObject_GetType: ; 0x0205F26C
|
|
ldr r0, [r0, #0x18]
|
|
bx lr
|
|
thumb_func_end MapObject_GetType
|
|
|
|
thumb_func_start MapObject_SetFlagID
|
|
MapObject_SetFlagID: ; 0x0205F270
|
|
str r1, [r0, #0x1c]
|
|
bx lr
|
|
thumb_func_end MapObject_SetFlagID
|
|
|
|
thumb_func_start MapObject_GetFlagID
|
|
MapObject_GetFlagID: ; 0x0205F274
|
|
ldr r0, [r0, #0x1c]
|
|
bx lr
|
|
thumb_func_end MapObject_GetFlagID
|
|
|
|
thumb_func_start MapObject_SetScript
|
|
MapObject_SetScript: ; 0x0205F278
|
|
str r1, [r0, #0x20]
|
|
bx lr
|
|
thumb_func_end MapObject_SetScript
|
|
|
|
thumb_func_start MapObject_GetScript
|
|
MapObject_GetScript: ; 0x0205F27C
|
|
ldr r0, [r0, #0x20]
|
|
bx lr
|
|
thumb_func_end MapObject_GetScript
|
|
|
|
thumb_func_start MapObject_SetInitialFacing
|
|
MapObject_SetInitialFacing: ; 0x0205F280
|
|
str r1, [r0, #0x24]
|
|
bx lr
|
|
thumb_func_end MapObject_SetInitialFacing
|
|
|
|
thumb_func_start MapObject_GetInitialFacing
|
|
MapObject_GetInitialFacing: ; 0x0205F284
|
|
ldr r0, [r0, #0x24]
|
|
bx lr
|
|
thumb_func_end MapObject_GetInitialFacing
|
|
|
|
thumb_func_start MapObject_ForceSetFacingDirection
|
|
MapObject_ForceSetFacingDirection: ; 0x0205F288
|
|
ldr r2, [r0, #0x28]
|
|
str r2, [r0, #0x30]
|
|
str r1, [r0, #0x28]
|
|
bx lr
|
|
thumb_func_end MapObject_ForceSetFacingDirection
|
|
|
|
thumb_func_start MapObject_SetFacingDirection
|
|
MapObject_SetFacingDirection: ; 0x0205F290
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
mov r1, #0x80
|
|
add r5, r0, #0
|
|
bl MapObject_GetBitsMask
|
|
cmp r0, #0
|
|
bne _0205F2A6
|
|
ldr r0, [r5, #0x28]
|
|
str r0, [r5, #0x30]
|
|
str r4, [r5, #0x28]
|
|
_0205F2A6:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MapObject_SetFacingDirection
|
|
|
|
thumb_func_start MapObject_GetFacingDirection
|
|
MapObject_GetFacingDirection: ; 0x0205F2A8
|
|
ldr r0, [r0, #0x28]
|
|
bx lr
|
|
thumb_func_end MapObject_GetFacingDirection
|
|
|
|
thumb_func_start MapObject_GetPreviousFacing
|
|
MapObject_GetPreviousFacing: ; 0x0205F2AC
|
|
ldr r0, [r0, #0x30]
|
|
bx lr
|
|
thumb_func_end MapObject_GetPreviousFacing
|
|
|
|
thumb_func_start MapObject_SetNextFacing
|
|
MapObject_SetNextFacing: ; 0x0205F2B0
|
|
ldr r2, [r0, #0x2c]
|
|
str r2, [r0, #0x34]
|
|
str r1, [r0, #0x2c]
|
|
bx lr
|
|
thumb_func_end MapObject_SetNextFacing
|
|
|
|
thumb_func_start MapObject_GetNextFacing
|
|
MapObject_GetNextFacing: ; 0x0205F2B8
|
|
ldr r0, [r0, #0x2c]
|
|
bx lr
|
|
thumb_func_end MapObject_GetNextFacing
|
|
|
|
thumb_func_start MapObject_SetOrQueueFacing
|
|
MapObject_SetOrQueueFacing: ; 0x0205F2BC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MapObject_SetFacingDirection
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MapObject_SetNextFacing
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MapObject_SetOrQueueFacing
|
|
|
|
thumb_func_start MapObject_SetParam
|
|
MapObject_SetParam: ; 0x0205F2D0
|
|
push {r3, lr}
|
|
cmp r2, #0
|
|
beq _0205F2E0
|
|
cmp r2, #1
|
|
beq _0205F2E4
|
|
cmp r2, #2
|
|
beq _0205F2E8
|
|
b _0205F2EC
|
|
_0205F2E0:
|
|
str r1, [r0, #0x38]
|
|
pop {r3, pc}
|
|
_0205F2E4:
|
|
str r1, [r0, #0x3c]
|
|
pop {r3, pc}
|
|
_0205F2E8:
|
|
str r1, [r0, #0x40]
|
|
pop {r3, pc}
|
|
_0205F2EC:
|
|
bl GF_AssertFail
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end MapObject_SetParam
|
|
|
|
thumb_func_start MapObject_GetParam
|
|
MapObject_GetParam: ; 0x0205F2F4
|
|
push {r3, lr}
|
|
cmp r1, #0
|
|
beq _0205F304
|
|
cmp r1, #1
|
|
beq _0205F308
|
|
cmp r1, #2
|
|
beq _0205F30C
|
|
b _0205F310
|
|
_0205F304:
|
|
ldr r0, [r0, #0x38]
|
|
pop {r3, pc}
|
|
_0205F308:
|
|
ldr r0, [r0, #0x3c]
|
|
pop {r3, pc}
|
|
_0205F30C:
|
|
ldr r0, [r0, #0x40]
|
|
pop {r3, pc}
|
|
_0205F310:
|
|
bl GF_AssertFail
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end MapObject_GetParam
|
|
|
|
thumb_func_start MapObject_SetXRange
|
|
MapObject_SetXRange: ; 0x0205F318
|
|
str r1, [r0, #0x44]
|
|
bx lr
|
|
thumb_func_end MapObject_SetXRange
|
|
|
|
thumb_func_start MapObject_GetXRange
|
|
MapObject_GetXRange: ; 0x0205F31C
|
|
ldr r0, [r0, #0x44]
|
|
bx lr
|
|
thumb_func_end MapObject_GetXRange
|
|
|
|
thumb_func_start MapObject_SetYRange
|
|
MapObject_SetYRange: ; 0x0205F320
|
|
str r1, [r0, #0x48]
|
|
bx lr
|
|
thumb_func_end MapObject_SetYRange
|
|
|
|
thumb_func_start MapObject_GetYRange
|
|
MapObject_GetYRange: ; 0x0205F324
|
|
ldr r0, [r0, #0x48]
|
|
bx lr
|
|
thumb_func_end MapObject_GetYRange
|
|
|
|
thumb_func_start sub_0205F328
|
|
sub_0205F328: ; 0x0205F328
|
|
add r0, #0xa0
|
|
str r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F328
|
|
|
|
thumb_func_start sub_0205F330
|
|
sub_0205F330: ; 0x0205F330
|
|
add r0, #0xa0
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F330
|
|
|
|
thumb_func_start sub_0205F338
|
|
sub_0205F338: ; 0x0205F338
|
|
add r0, #0xb0
|
|
str r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F338
|
|
|
|
thumb_func_start sub_0205F340
|
|
sub_0205F340: ; 0x0205F340
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F340
|
|
|
|
thumb_func_start sub_0205F348
|
|
sub_0205F348: ; 0x0205F348
|
|
push {r3, lr}
|
|
bl sub_0205F340
|
|
bl sub_0200E390
|
|
pop {r3, pc}
|
|
thumb_func_end sub_0205F348
|
|
|
|
thumb_func_start sub_0205F354
|
|
sub_0205F354: ; 0x0205F354
|
|
add r0, #0xb4
|
|
str r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F354
|
|
|
|
thumb_func_start sub_0205F35C
|
|
sub_0205F35C: ; 0x0205F35C
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F35C
|
|
|
|
thumb_func_start sub_0205F364
|
|
sub_0205F364: ; 0x0205F364
|
|
ldr r3, _0205F36C ; =sub_0205F160
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
bx r3
|
|
.balign 4, 0
|
|
_0205F36C: .word sub_0205F160
|
|
thumb_func_end sub_0205F364
|
|
|
|
thumb_func_start sub_0205F370
|
|
sub_0205F370: ; 0x0205F370
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r4, r0, #0
|
|
cmp r5, #0x10
|
|
ble _0205F37E
|
|
bl GF_AssertFail
|
|
_0205F37E:
|
|
add r0, r4, #0
|
|
bl sub_0205F394
|
|
mov r1, #0
|
|
add r2, r5, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F370
|
|
|
|
thumb_func_start sub_0205F394
|
|
sub_0205F394: ; 0x0205F394
|
|
add r0, #0xd8
|
|
bx lr
|
|
thumb_func_end sub_0205F394
|
|
|
|
thumb_func_start sub_0205F398
|
|
sub_0205F398: ; 0x0205F398
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r4, r0, #0
|
|
cmp r5, #0x10
|
|
ble _0205F3A6
|
|
bl GF_AssertFail
|
|
_0205F3A6:
|
|
add r0, r4, #0
|
|
bl sub_0205F3BC
|
|
mov r1, #0
|
|
add r2, r5, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F398
|
|
|
|
thumb_func_start sub_0205F3BC
|
|
sub_0205F3BC: ; 0x0205F3BC
|
|
add r0, #0xe8
|
|
bx lr
|
|
thumb_func_end sub_0205F3BC
|
|
|
|
thumb_func_start sub_0205F3C0
|
|
sub_0205F3C0: ; 0x0205F3C0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r4, r0, #0
|
|
cmp r5, #0x10
|
|
ble _0205F3CE
|
|
bl GF_AssertFail
|
|
_0205F3CE:
|
|
add r0, r4, #0
|
|
bl sub_0205F3E4
|
|
mov r1, #0
|
|
add r2, r5, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F3C0
|
|
|
|
thumb_func_start sub_0205F3E4
|
|
sub_0205F3E4: ; 0x0205F3E4
|
|
add r0, #0xf8
|
|
bx lr
|
|
thumb_func_end sub_0205F3E4
|
|
|
|
thumb_func_start sub_0205F3E8
|
|
sub_0205F3E8: ; 0x0205F3E8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r4, r0, #0
|
|
cmp r5, #0x20
|
|
ble _0205F3F6
|
|
bl GF_AssertFail
|
|
_0205F3F6:
|
|
add r0, r4, #0
|
|
bl sub_0205F40C
|
|
mov r1, #0
|
|
add r2, r5, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F3E8
|
|
|
|
thumb_func_start sub_0205F40C
|
|
sub_0205F40C: ; 0x0205F40C
|
|
mov r1, #0x42
|
|
lsl r1, r1, #2
|
|
add r0, r0, r1
|
|
bx lr
|
|
thumb_func_end sub_0205F40C
|
|
|
|
thumb_func_start sub_0205F414
|
|
sub_0205F414: ; 0x0205F414
|
|
add r0, #0xb8
|
|
str r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F414
|
|
|
|
thumb_func_start sub_0205F41C
|
|
sub_0205F41C: ; 0x0205F41C
|
|
push {r3, lr}
|
|
add r1, r0, #0
|
|
add r1, #0xb8
|
|
ldr r1, [r1]
|
|
blx r1
|
|
pop {r3, pc}
|
|
thumb_func_end sub_0205F41C
|
|
|
|
thumb_func_start sub_0205F428
|
|
sub_0205F428: ; 0x0205F428
|
|
add r0, #0xbc
|
|
str r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F428
|
|
|
|
thumb_func_start sub_0205F430
|
|
sub_0205F430: ; 0x0205F430
|
|
push {r3, lr}
|
|
add r1, r0, #0
|
|
add r1, #0xbc
|
|
ldr r1, [r1]
|
|
blx r1
|
|
pop {r3, pc}
|
|
thumb_func_end sub_0205F430
|
|
|
|
thumb_func_start sub_0205F43C
|
|
sub_0205F43C: ; 0x0205F43C
|
|
add r0, #0xc0
|
|
str r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F43C
|
|
|
|
thumb_func_start sub_0205F444
|
|
sub_0205F444: ; 0x0205F444
|
|
push {r3, lr}
|
|
add r1, r0, #0
|
|
add r1, #0xc0
|
|
ldr r1, [r1]
|
|
blx r1
|
|
pop {r3, pc}
|
|
thumb_func_end sub_0205F444
|
|
|
|
thumb_func_start sub_0205F450
|
|
sub_0205F450: ; 0x0205F450
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MapObject_GetMovement
|
|
bl sub_0205FB00
|
|
add r1, r0, #0
|
|
ldr r1, [r1, #0x10]
|
|
add r0, r4, #0
|
|
blx r1
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F450
|
|
|
|
thumb_func_start sub_0205F468
|
|
sub_0205F468: ; 0x0205F468
|
|
add r0, #0xc4
|
|
str r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F468
|
|
|
|
thumb_func_start sub_0205F470
|
|
sub_0205F470: ; 0x0205F470
|
|
push {r3, lr}
|
|
add r1, r0, #0
|
|
add r1, #0xc4
|
|
ldr r1, [r1]
|
|
blx r1
|
|
pop {r3, pc}
|
|
thumb_func_end sub_0205F470
|
|
|
|
thumb_func_start sub_0205F47C
|
|
sub_0205F47C: ; 0x0205F47C
|
|
add r0, #0xc8
|
|
str r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F47C
|
|
|
|
thumb_func_start sub_0205F484
|
|
sub_0205F484: ; 0x0205F484
|
|
push {r3, lr}
|
|
add r1, r0, #0
|
|
add r1, #0xc8
|
|
ldr r1, [r1]
|
|
blx r1
|
|
pop {r3, pc}
|
|
thumb_func_end sub_0205F484
|
|
|
|
thumb_func_start sub_0205F490
|
|
sub_0205F490: ; 0x0205F490
|
|
add r0, #0xcc
|
|
str r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F490
|
|
|
|
thumb_func_start sub_0205F498
|
|
sub_0205F498: ; 0x0205F498
|
|
push {r3, lr}
|
|
add r1, r0, #0
|
|
add r1, #0xcc
|
|
ldr r1, [r1]
|
|
blx r1
|
|
pop {r3, pc}
|
|
thumb_func_end sub_0205F498
|
|
|
|
thumb_func_start sub_0205F4A4
|
|
sub_0205F4A4: ; 0x0205F4A4
|
|
add r0, #0xd0
|
|
str r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F4A4
|
|
|
|
thumb_func_start sub_0205F4AC
|
|
sub_0205F4AC: ; 0x0205F4AC
|
|
push {r3, lr}
|
|
add r1, r0, #0
|
|
add r1, #0xd0
|
|
ldr r1, [r1]
|
|
blx r1
|
|
pop {r3, pc}
|
|
thumb_func_end sub_0205F4AC
|
|
|
|
thumb_func_start sub_0205F4B8
|
|
sub_0205F4B8: ; 0x0205F4B8
|
|
add r0, #0xd4
|
|
str r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F4B8
|
|
|
|
thumb_func_start sub_0205F4C0
|
|
sub_0205F4C0: ; 0x0205F4C0
|
|
push {r3, lr}
|
|
add r1, r0, #0
|
|
add r1, #0xd4
|
|
ldr r1, [r1]
|
|
blx r1
|
|
pop {r3, pc}
|
|
thumb_func_end sub_0205F4C0
|
|
|
|
thumb_func_start MapObject_SetMovementCommand
|
|
MapObject_SetMovementCommand: ; 0x0205F4CC
|
|
add r0, #0xa4
|
|
str r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end MapObject_SetMovementCommand
|
|
|
|
thumb_func_start MapObject_GetMovementCommand
|
|
MapObject_GetMovementCommand: ; 0x0205F4D4
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end MapObject_GetMovementCommand
|
|
|
|
thumb_func_start MapObject_SetMovementStep
|
|
MapObject_SetMovementStep: ; 0x0205F4DC
|
|
add r0, #0xa8
|
|
str r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end MapObject_SetMovementStep
|
|
|
|
thumb_func_start MapObject_IncMovementStep
|
|
MapObject_IncMovementStep: ; 0x0205F4E4
|
|
add r1, r0, #0
|
|
add r1, #0xa8
|
|
ldr r1, [r1]
|
|
add r0, #0xa8
|
|
add r1, r1, #1
|
|
str r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end MapObject_IncMovementStep
|
|
|
|
thumb_func_start MapObject_GetMovementStep
|
|
MapObject_GetMovementStep: ; 0x0205F4F4
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end MapObject_GetMovementStep
|
|
|
|
thumb_func_start sub_0205F4FC
|
|
sub_0205F4FC: ; 0x0205F4FC
|
|
add r0, #0xac
|
|
strh r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F4FC
|
|
|
|
thumb_func_start sub_0205F504
|
|
sub_0205F504: ; 0x0205F504
|
|
add r0, #0xac
|
|
ldrh r0, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F504
|
|
|
|
thumb_func_start sub_0205F50C
|
|
sub_0205F50C: ; 0x0205F50C
|
|
add r0, #0xae
|
|
strh r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F50C
|
|
|
|
thumb_func_start sub_0205F514
|
|
sub_0205F514: ; 0x0205F514
|
|
add r0, #0xae
|
|
ldrh r0, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F514
|
|
|
|
thumb_func_start sub_0205F51C
|
|
sub_0205F51C: ; 0x0205F51C
|
|
mov r2, #0x4a
|
|
lsl r2, r2, #2
|
|
strh r1, [r0, r2]
|
|
bx lr
|
|
thumb_func_end sub_0205F51C
|
|
|
|
thumb_func_start sub_0205F524
|
|
sub_0205F524: ; 0x0205F524
|
|
mov r1, #0x4a
|
|
lsl r1, r1, #2
|
|
ldrh r0, [r0, r1]
|
|
bx lr
|
|
thumb_func_end sub_0205F524
|
|
|
|
thumb_func_start MapObject_GetFieldSysPtr
|
|
MapObject_GetFieldSysPtr: ; 0x0205F52C
|
|
push {r3, lr}
|
|
bl sub_0205F364
|
|
bl MapObjectMan_GetFieldSysPtr
|
|
pop {r3, pc}
|
|
thumb_func_end MapObject_GetFieldSysPtr
|
|
|
|
thumb_func_start sub_0205F538
|
|
sub_0205F538: ; 0x0205F538
|
|
push {r3, lr}
|
|
bl sub_0205F35C
|
|
bl sub_0205F19C
|
|
pop {r3, pc}
|
|
thumb_func_end sub_0205F538
|
|
|
|
thumb_func_start sub_0205F544
|
|
sub_0205F544: ; 0x0205F544
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_0205F7D4
|
|
cmp r0, #1
|
|
beq _0205F554
|
|
bl GF_AssertFail
|
|
_0205F554:
|
|
add r0, r4, #0
|
|
bl MapObject_GetFlagID
|
|
pop {r4, pc}
|
|
thumb_func_end sub_0205F544
|
|
|
|
thumb_func_start sub_0205F55C
|
|
sub_0205F55C: ; 0x0205F55C
|
|
ldr r3, _0205F564 ; =sub_0205F17C
|
|
mov r1, #6
|
|
bx r3
|
|
nop
|
|
_0205F564: .word sub_0205F17C
|
|
thumb_func_end sub_0205F55C
|
|
|
|
thumb_func_start sub_0205F568
|
|
sub_0205F568: ; 0x0205F568
|
|
ldr r3, _0205F570 ; =sub_0205F184
|
|
mov r1, #6
|
|
bx r3
|
|
nop
|
|
_0205F570: .word sub_0205F184
|
|
thumb_func_end sub_0205F568
|
|
|
|
thumb_func_start MapObjectMan_PauseAllMovement
|
|
MapObjectMan_PauseAllMovement: ; 0x0205F574
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
bl MapObjectMan_GetCount
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObjectMan_GetArray
|
|
mov r6, #0x4b
|
|
add r5, r0, #0
|
|
lsl r6, r6, #2
|
|
_0205F58A:
|
|
add r0, r5, #0
|
|
bl MapObject_IsInUse
|
|
cmp r0, #0
|
|
beq _0205F59A
|
|
add r0, r5, #0
|
|
bl MapObject_PauseMovement
|
|
_0205F59A:
|
|
add r5, r5, r6
|
|
sub r4, r4, #1
|
|
bne _0205F58A
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end MapObjectMan_PauseAllMovement
|
|
|
|
thumb_func_start MapObjectMan_UnpauseAllMovement
|
|
MapObjectMan_UnpauseAllMovement: ; 0x0205F5A4
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
bl MapObjectMan_GetCount
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MapObjectMan_GetArray
|
|
mov r6, #0x4b
|
|
add r5, r0, #0
|
|
lsl r6, r6, #2
|
|
_0205F5BA:
|
|
add r0, r5, #0
|
|
bl MapObject_IsInUse
|
|
cmp r0, #0
|
|
beq _0205F5CA
|
|
add r0, r5, #0
|
|
bl MapObject_UnpauseMovement
|
|
_0205F5CA:
|
|
add r5, r5, r6
|
|
sub r4, r4, #1
|
|
bne _0205F5BA
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end MapObjectMan_UnpauseAllMovement
|
|
|
|
thumb_func_start sub_0205F5D4
|
|
sub_0205F5D4: ; 0x0205F5D4
|
|
push {r3, lr}
|
|
mov r1, #1
|
|
bl sub_0205F190
|
|
cmp r0, #0
|
|
beq _0205F5E4
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0205F5E4:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end sub_0205F5D4
|
|
|
|
thumb_func_start sub_0205F5E8
|
|
sub_0205F5E8: ; 0x0205F5E8
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
bl sub_0205F35C
|
|
add r1, r4, #0
|
|
bl sub_0205F190
|
|
pop {r4, pc}
|
|
thumb_func_end sub_0205F5E8
|
|
|
|
thumb_func_start sub_0205F5F8
|
|
sub_0205F5F8: ; 0x0205F5F8
|
|
push {r3, lr}
|
|
cmp r1, #0
|
|
bne _0205F606
|
|
mov r1, #8
|
|
bl sub_0205F17C
|
|
pop {r3, pc}
|
|
_0205F606:
|
|
mov r1, #8
|
|
bl sub_0205F184
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F5F8
|
|
|
|
thumb_func_start sub_0205F610
|
|
sub_0205F610: ; 0x0205F610
|
|
push {r3, lr}
|
|
mov r1, #8
|
|
bl sub_0205F190
|
|
cmp r0, #0
|
|
bne _0205F620
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0205F620:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end sub_0205F610
|
|
|
|
thumb_func_start MapObject_IsInUse
|
|
MapObject_IsInUse: ; 0x0205F624
|
|
ldr r3, _0205F62C ; =MapObject_TestBits
|
|
mov r1, #1
|
|
bx r3
|
|
nop
|
|
_0205F62C: .word MapObject_TestBits
|
|
thumb_func_end MapObject_IsInUse
|
|
|
|
thumb_func_start MapObject_SingleMovementSetActive
|
|
MapObject_SingleMovementSetActive: ; 0x0205F630
|
|
ldr r3, _0205F638 ; =MapObject_SetBits
|
|
mov r1, #2
|
|
bx r3
|
|
nop
|
|
_0205F638: .word MapObject_SetBits
|
|
thumb_func_end MapObject_SingleMovementSetActive
|
|
|
|
thumb_func_start MapObject_SingleMovementSetInactive
|
|
MapObject_SingleMovementSetInactive: ; 0x0205F63C
|
|
ldr r3, _0205F644 ; =MapObject_ClearBits
|
|
mov r1, #2
|
|
bx r3
|
|
nop
|
|
_0205F644: .word MapObject_ClearBits
|
|
thumb_func_end MapObject_SingleMovementSetInactive
|
|
|
|
thumb_func_start MapObject_IsSingleMovementActive
|
|
MapObject_IsSingleMovementActive: ; 0x0205F648
|
|
ldr r3, _0205F650 ; =MapObject_TestBits
|
|
mov r1, #2
|
|
bx r3
|
|
nop
|
|
_0205F650: .word MapObject_TestBits
|
|
thumb_func_end MapObject_IsSingleMovementActive
|
|
|
|
thumb_func_start sub_0205F654
|
|
sub_0205F654: ; 0x0205F654
|
|
ldr r3, _0205F65C ; =MapObject_SetBits
|
|
mov r1, #4
|
|
bx r3
|
|
nop
|
|
_0205F65C: .word MapObject_SetBits
|
|
thumb_func_end sub_0205F654
|
|
|
|
thumb_func_start sub_0205F660
|
|
sub_0205F660: ; 0x0205F660
|
|
ldr r3, _0205F668 ; =MapObject_ClearBits
|
|
mov r1, #8
|
|
bx r3
|
|
nop
|
|
_0205F668: .word MapObject_ClearBits
|
|
thumb_func_end sub_0205F660
|
|
|
|
thumb_func_start sub_0205F66C
|
|
sub_0205F66C: ; 0x0205F66C
|
|
ldr r3, _0205F674 ; =MapObject_SetBits
|
|
mov r1, #1
|
|
lsl r1, r1, #0xe
|
|
bx r3
|
|
.balign 4, 0
|
|
_0205F674: .word MapObject_SetBits
|
|
thumb_func_end sub_0205F66C
|
|
|
|
thumb_func_start sub_0205F678
|
|
sub_0205F678: ; 0x0205F678
|
|
ldr r3, _0205F680 ; =MapObject_TestBits
|
|
mov r1, #1
|
|
lsl r1, r1, #0xe
|
|
bx r3
|
|
.balign 4, 0
|
|
_0205F680: .word MapObject_TestBits
|
|
thumb_func_end sub_0205F678
|
|
|
|
thumb_func_start sub_0205F684
|
|
sub_0205F684: ; 0x0205F684
|
|
ldr r3, _0205F68C ; =MapObject_TestBits
|
|
mov r1, #2
|
|
lsl r1, r1, #8
|
|
bx r3
|
|
.balign 4, 0
|
|
_0205F68C: .word MapObject_TestBits
|
|
thumb_func_end sub_0205F684
|
|
|
|
thumb_func_start sub_0205F690
|
|
sub_0205F690: ; 0x0205F690
|
|
push {r3, lr}
|
|
cmp r1, #1
|
|
bne _0205F6A0
|
|
mov r1, #2
|
|
lsl r1, r1, #8
|
|
bl MapObject_SetBits
|
|
pop {r3, pc}
|
|
_0205F6A0:
|
|
mov r1, #2
|
|
lsl r1, r1, #8
|
|
bl MapObject_ClearBits
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F690
|
|
|
|
thumb_func_start sub_0205F6AC
|
|
sub_0205F6AC: ; 0x0205F6AC
|
|
push {r3, lr}
|
|
cmp r1, #1
|
|
bne _0205F6BC
|
|
mov r1, #1
|
|
lsl r1, r1, #0x12
|
|
bl MapObject_ClearBits
|
|
pop {r3, pc}
|
|
_0205F6BC:
|
|
mov r1, #1
|
|
lsl r1, r1, #0x12
|
|
bl MapObject_SetBits
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F6AC
|
|
|
|
thumb_func_start sub_0205F6C8
|
|
sub_0205F6C8: ; 0x0205F6C8
|
|
push {r3, lr}
|
|
mov r1, #2
|
|
lsl r1, r1, #0x12
|
|
bl MapObject_TestBits
|
|
cmp r0, #1
|
|
beq _0205F6DA
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0205F6DA:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F6C8
|
|
|
|
thumb_func_start sub_0205F6E0
|
|
sub_0205F6E0: ; 0x0205F6E0
|
|
push {r3, lr}
|
|
cmp r1, #1
|
|
bne _0205F6F0
|
|
mov r1, #2
|
|
lsl r1, r1, #0x12
|
|
bl MapObject_SetBits
|
|
pop {r3, pc}
|
|
_0205F6F0:
|
|
mov r1, #2
|
|
lsl r1, r1, #0x12
|
|
bl MapObject_ClearBits
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F6E0
|
|
|
|
thumb_func_start MapObject_PauseMovement
|
|
MapObject_PauseMovement: ; 0x0205F6FC
|
|
ldr r3, _0205F704 ; =MapObject_SetBits
|
|
mov r1, #0x40
|
|
bx r3
|
|
nop
|
|
_0205F704: .word MapObject_SetBits
|
|
thumb_func_end MapObject_PauseMovement
|
|
|
|
thumb_func_start MapObject_UnpauseMovement
|
|
MapObject_UnpauseMovement: ; 0x0205F708
|
|
ldr r3, _0205F710 ; =MapObject_ClearBits
|
|
mov r1, #0x40
|
|
bx r3
|
|
nop
|
|
_0205F710: .word MapObject_ClearBits
|
|
thumb_func_end MapObject_UnpauseMovement
|
|
|
|
thumb_func_start sub_0205F714
|
|
sub_0205F714: ; 0x0205F714
|
|
push {r4, lr}
|
|
mov r1, #1
|
|
lsl r1, r1, #0x1e
|
|
add r4, r0, #0
|
|
bl MapObject_TestBits
|
|
cmp r0, #1
|
|
bne _0205F728
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_0205F728:
|
|
add r0, r4, #0
|
|
mov r1, #0x40
|
|
bl MapObject_TestBits
|
|
cmp r0, #1
|
|
bne _0205F738
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_0205F738:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end sub_0205F714
|
|
|
|
thumb_func_start sub_0205F73C
|
|
sub_0205F73C: ; 0x0205F73C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_0205F35C
|
|
bl sub_0205F5D4
|
|
cmp r0, #0
|
|
bne _0205F750
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_0205F750:
|
|
mov r1, #1
|
|
add r0, r4, #0
|
|
lsl r1, r1, #0xe
|
|
bl MapObject_GetBitsMask
|
|
cmp r0, #0
|
|
beq _0205F762
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_0205F762:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F73C
|
|
|
|
thumb_func_start sub_0205F768
|
|
sub_0205F768: ; 0x0205F768
|
|
push {r3, lr}
|
|
cmp r1, #1
|
|
bne _0205F778
|
|
mov r1, #2
|
|
lsl r1, r1, #0x16
|
|
bl MapObject_SetBits
|
|
pop {r3, pc}
|
|
_0205F778:
|
|
mov r1, #2
|
|
lsl r1, r1, #0x16
|
|
bl MapObject_ClearBits
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F768
|
|
|
|
thumb_func_start sub_0205F784
|
|
sub_0205F784: ; 0x0205F784
|
|
push {r3, lr}
|
|
mov r1, #2
|
|
lsl r1, r1, #0x16
|
|
bl MapObject_GetBitsMask
|
|
cmp r0, #0
|
|
beq _0205F796
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0205F796:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F784
|
|
|
|
thumb_func_start sub_0205F79C
|
|
sub_0205F79C: ; 0x0205F79C
|
|
push {r3, lr}
|
|
cmp r1, #1
|
|
bne _0205F7AC
|
|
mov r1, #1
|
|
lsl r1, r1, #0xa
|
|
bl MapObject_SetBits
|
|
pop {r3, pc}
|
|
_0205F7AC:
|
|
mov r1, #1
|
|
lsl r1, r1, #0xa
|
|
bl MapObject_ClearBits
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F79C
|
|
|
|
thumb_func_start sub_0205F7B8
|
|
sub_0205F7B8: ; 0x0205F7B8
|
|
push {r3, lr}
|
|
cmp r1, #1
|
|
bne _0205F7C8
|
|
mov r1, #2
|
|
lsl r1, r1, #0x18
|
|
bl MapObject_SetBits
|
|
pop {r3, pc}
|
|
_0205F7C8:
|
|
mov r1, #2
|
|
lsl r1, r1, #0x18
|
|
bl MapObject_ClearBits
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F7B8
|
|
|
|
thumb_func_start sub_0205F7D4
|
|
sub_0205F7D4: ; 0x0205F7D4
|
|
push {r3, lr}
|
|
mov r1, #2
|
|
lsl r1, r1, #0x18
|
|
bl MapObject_GetBitsMask
|
|
cmp r0, #0
|
|
beq _0205F7E6
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0205F7E6:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F7D4
|
|
|
|
thumb_func_start sub_0205F7EC
|
|
sub_0205F7EC: ; 0x0205F7EC
|
|
push {r3, lr}
|
|
cmp r1, #1
|
|
bne _0205F7FC
|
|
mov r1, #1
|
|
lsl r1, r1, #0x1a
|
|
bl MapObject_SetBits
|
|
pop {r3, pc}
|
|
_0205F7FC:
|
|
mov r1, #1
|
|
lsl r1, r1, #0x1a
|
|
bl MapObject_ClearBits
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F7EC
|
|
|
|
thumb_func_start sub_0205F808
|
|
sub_0205F808: ; 0x0205F808
|
|
push {r3, lr}
|
|
mov r1, #1
|
|
lsl r1, r1, #0x1a
|
|
bl MapObject_GetBitsMask
|
|
cmp r0, #0
|
|
beq _0205F81A
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0205F81A:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F808
|
|
|
|
thumb_func_start sub_0205F820
|
|
sub_0205F820: ; 0x0205F820
|
|
push {r3, lr}
|
|
cmp r1, #1
|
|
bne _0205F830
|
|
mov r1, #1
|
|
lsl r1, r1, #0x1c
|
|
bl MapObject_SetBits
|
|
pop {r3, pc}
|
|
_0205F830:
|
|
mov r1, #1
|
|
lsl r1, r1, #0x1c
|
|
bl MapObject_ClearBits
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F820
|
|
|
|
thumb_func_start sub_0205F83C
|
|
sub_0205F83C: ; 0x0205F83C
|
|
push {r3, lr}
|
|
mov r1, #1
|
|
lsl r1, r1, #0x1c
|
|
bl MapObject_GetBitsMask
|
|
cmp r0, #0
|
|
beq _0205F84E
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0205F84E:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F83C
|
|
|
|
thumb_func_start sub_0205F854
|
|
sub_0205F854: ; 0x0205F854
|
|
push {r3, lr}
|
|
cmp r1, #1
|
|
bne _0205F864
|
|
mov r1, #1
|
|
lsl r1, r1, #0x18
|
|
bl MapObject_SetBits
|
|
pop {r3, pc}
|
|
_0205F864:
|
|
mov r1, #1
|
|
lsl r1, r1, #0x18
|
|
bl MapObject_ClearBits
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F854
|
|
|
|
thumb_func_start sub_0205F870
|
|
sub_0205F870: ; 0x0205F870
|
|
push {r3, lr}
|
|
mov r1, #1
|
|
lsl r1, r1, #0x18
|
|
bl MapObject_GetBitsMask
|
|
cmp r0, #0
|
|
beq _0205F882
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0205F882:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F870
|
|
|
|
thumb_func_start sub_0205F888
|
|
sub_0205F888: ; 0x0205F888
|
|
push {r3, lr}
|
|
mov r1, #0x10
|
|
bl MapObject_GetBitsMask
|
|
cmp r0, #0
|
|
beq _0205F898
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0205F898:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end sub_0205F888
|
|
|
|
thumb_func_start sub_0205F89C
|
|
sub_0205F89C: ; 0x0205F89C
|
|
push {r3, lr}
|
|
cmp r1, #1
|
|
bne _0205F8AC
|
|
mov r1, #2
|
|
lsl r1, r1, #0x1c
|
|
bl MapObject_SetBits
|
|
pop {r3, pc}
|
|
_0205F8AC:
|
|
mov r1, #2
|
|
lsl r1, r1, #0x1c
|
|
bl MapObject_ClearBits
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F89C
|
|
|
|
thumb_func_start sub_0205F8B8
|
|
sub_0205F8B8: ; 0x0205F8B8
|
|
push {r3, lr}
|
|
mov r1, #2
|
|
lsl r1, r1, #0x1c
|
|
bl MapObject_GetBitsMask
|
|
cmp r0, #0
|
|
beq _0205F8CA
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0205F8CA:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F8B8
|
|
|
|
thumb_func_start sub_0205F8D0
|
|
sub_0205F8D0: ; 0x0205F8D0
|
|
push {r3, lr}
|
|
mov r1, #4
|
|
bl sub_0205F240
|
|
cmp r0, #0
|
|
beq _0205F8E0
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0205F8E0:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end sub_0205F8D0
|
|
|
|
thumb_func_start MapObject_GetInitialX
|
|
MapObject_GetInitialX: ; 0x0205F8E4
|
|
ldr r0, [r0, #0x4c]
|
|
bx lr
|
|
thumb_func_end MapObject_GetInitialX
|
|
|
|
thumb_func_start MapObject_SetInitialX
|
|
MapObject_SetInitialX: ; 0x0205F8E8
|
|
str r1, [r0, #0x4c]
|
|
bx lr
|
|
thumb_func_end MapObject_SetInitialX
|
|
|
|
thumb_func_start MapObject_GetInitialHeight
|
|
MapObject_GetInitialHeight: ; 0x0205F8EC
|
|
ldr r0, [r0, #0x50]
|
|
bx lr
|
|
thumb_func_end MapObject_GetInitialHeight
|
|
|
|
thumb_func_start MapObject_SetInitialHeight
|
|
MapObject_SetInitialHeight: ; 0x0205F8F0
|
|
str r1, [r0, #0x50]
|
|
bx lr
|
|
thumb_func_end MapObject_SetInitialHeight
|
|
|
|
thumb_func_start MapObject_GetInitialY
|
|
MapObject_GetInitialY: ; 0x0205F8F4
|
|
ldr r0, [r0, #0x54]
|
|
bx lr
|
|
thumb_func_end MapObject_GetInitialY
|
|
|
|
thumb_func_start MapObject_SetInitialY
|
|
MapObject_SetInitialY: ; 0x0205F8F8
|
|
str r1, [r0, #0x54]
|
|
bx lr
|
|
thumb_func_end MapObject_SetInitialY
|
|
|
|
thumb_func_start MapObject_GetPrevX
|
|
MapObject_GetPrevX: ; 0x0205F8FC
|
|
ldr r0, [r0, #0x58]
|
|
bx lr
|
|
thumb_func_end MapObject_GetPrevX
|
|
|
|
thumb_func_start MapObject_SetPrevX
|
|
MapObject_SetPrevX: ; 0x0205F900
|
|
str r1, [r0, #0x58]
|
|
bx lr
|
|
thumb_func_end MapObject_SetPrevX
|
|
|
|
thumb_func_start MapObject_GetPrevHeight
|
|
MapObject_GetPrevHeight: ; 0x0205F904
|
|
ldr r0, [r0, #0x5c]
|
|
bx lr
|
|
thumb_func_end MapObject_GetPrevHeight
|
|
|
|
thumb_func_start MapObject_SetPrevHeight
|
|
MapObject_SetPrevHeight: ; 0x0205F908
|
|
str r1, [r0, #0x5c]
|
|
bx lr
|
|
thumb_func_end MapObject_SetPrevHeight
|
|
|
|
thumb_func_start MapObject_GetPrevY
|
|
MapObject_GetPrevY: ; 0x0205F90C
|
|
ldr r0, [r0, #0x60]
|
|
bx lr
|
|
thumb_func_end MapObject_GetPrevY
|
|
|
|
thumb_func_start MapObject_SetPrevY
|
|
MapObject_SetPrevY: ; 0x0205F910
|
|
str r1, [r0, #0x60]
|
|
bx lr
|
|
thumb_func_end MapObject_SetPrevY
|
|
|
|
thumb_func_start MapObject_GetCurrentX
|
|
MapObject_GetCurrentX: ; 0x0205F914
|
|
ldr r0, [r0, #0x64]
|
|
bx lr
|
|
thumb_func_end MapObject_GetCurrentX
|
|
|
|
thumb_func_start MapObject_SetCurrentX
|
|
MapObject_SetCurrentX: ; 0x0205F918
|
|
str r1, [r0, #0x64]
|
|
bx lr
|
|
thumb_func_end MapObject_SetCurrentX
|
|
|
|
thumb_func_start MapObject_AddCurrentX
|
|
MapObject_AddCurrentX: ; 0x0205F91C
|
|
ldr r2, [r0, #0x64]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x64]
|
|
bx lr
|
|
thumb_func_end MapObject_AddCurrentX
|
|
|
|
thumb_func_start MapObject_GetCurrentHeight
|
|
MapObject_GetCurrentHeight: ; 0x0205F924
|
|
ldr r0, [r0, #0x68]
|
|
bx lr
|
|
thumb_func_end MapObject_GetCurrentHeight
|
|
|
|
thumb_func_start MapObject_SetCurrentHeight
|
|
MapObject_SetCurrentHeight: ; 0x0205F928
|
|
str r1, [r0, #0x68]
|
|
bx lr
|
|
thumb_func_end MapObject_SetCurrentHeight
|
|
|
|
thumb_func_start MapObject_AddCurrentHeight
|
|
MapObject_AddCurrentHeight: ; 0x0205F92C
|
|
ldr r2, [r0, #0x68]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x68]
|
|
bx lr
|
|
thumb_func_end MapObject_AddCurrentHeight
|
|
|
|
thumb_func_start MapObject_GetCurrentY
|
|
MapObject_GetCurrentY: ; 0x0205F934
|
|
ldr r0, [r0, #0x6c]
|
|
bx lr
|
|
thumb_func_end MapObject_GetCurrentY
|
|
|
|
thumb_func_start MapObject_SetCurrentY
|
|
MapObject_SetCurrentY: ; 0x0205F938
|
|
str r1, [r0, #0x6c]
|
|
bx lr
|
|
thumb_func_end MapObject_SetCurrentY
|
|
|
|
thumb_func_start MapObject_AddCurrentY
|
|
MapObject_AddCurrentY: ; 0x0205F93C
|
|
ldr r2, [r0, #0x6c]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x6c]
|
|
bx lr
|
|
thumb_func_end MapObject_AddCurrentY
|
|
|
|
thumb_func_start MapObject_GetPositionVec
|
|
MapObject_GetPositionVec: ; 0x0205F944
|
|
add r2, r0, #0
|
|
add r2, #0x70
|
|
add r3, r1, #0
|
|
ldmia r2!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r2]
|
|
str r0, [r3]
|
|
bx lr
|
|
thumb_func_end MapObject_GetPositionVec
|
|
|
|
thumb_func_start MapObject_SetPositionVec
|
|
MapObject_SetPositionVec: ; 0x0205F954
|
|
add r3, r1, #0
|
|
add r2, r0, #0
|
|
ldmia r3!, {r0, r1}
|
|
add r2, #0x70
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
str r0, [r2]
|
|
bx lr
|
|
thumb_func_end MapObject_SetPositionVec
|
|
|
|
thumb_func_start MapObject_GetPositionVecPtr
|
|
MapObject_GetPositionVecPtr: ; 0x0205F964
|
|
add r0, #0x70
|
|
bx lr
|
|
thumb_func_end MapObject_GetPositionVecPtr
|
|
|
|
thumb_func_start MapObject_GetPosVecYCoord
|
|
MapObject_GetPosVecYCoord: ; 0x0205F968
|
|
ldr r0, [r0, #0x74]
|
|
bx lr
|
|
thumb_func_end MapObject_GetPosVecYCoord
|
|
|
|
thumb_func_start MapObject_GetFacingVec
|
|
MapObject_GetFacingVec: ; 0x0205F96C
|
|
add r2, r0, #0
|
|
add r2, #0x7c
|
|
add r3, r1, #0
|
|
ldmia r2!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r2]
|
|
str r0, [r3]
|
|
bx lr
|
|
thumb_func_end MapObject_GetFacingVec
|
|
|
|
thumb_func_start MapObject_SetFacingVec
|
|
MapObject_SetFacingVec: ; 0x0205F97C
|
|
add r3, r1, #0
|
|
add r2, r0, #0
|
|
ldmia r3!, {r0, r1}
|
|
add r2, #0x7c
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
str r0, [r2]
|
|
bx lr
|
|
thumb_func_end MapObject_SetFacingVec
|
|
|
|
thumb_func_start MapObject_GetFacingVecPtr
|
|
MapObject_GetFacingVecPtr: ; 0x0205F98C
|
|
add r0, #0x7c
|
|
bx lr
|
|
thumb_func_end MapObject_GetFacingVecPtr
|
|
|
|
thumb_func_start sub_0205F990
|
|
sub_0205F990: ; 0x0205F990
|
|
add r2, r0, #0
|
|
add r2, #0x88
|
|
add r3, r1, #0
|
|
ldmia r2!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r2]
|
|
str r0, [r3]
|
|
bx lr
|
|
thumb_func_end sub_0205F990
|
|
|
|
thumb_func_start sub_0205F9A0
|
|
sub_0205F9A0: ; 0x0205F9A0
|
|
add r3, r1, #0
|
|
add r2, r0, #0
|
|
ldmia r3!, {r0, r1}
|
|
add r2, #0x88
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
str r0, [r2]
|
|
bx lr
|
|
thumb_func_end sub_0205F9A0
|
|
|
|
thumb_func_start sub_0205F9B0
|
|
sub_0205F9B0: ; 0x0205F9B0
|
|
add r2, r0, #0
|
|
add r2, #0x94
|
|
add r3, r1, #0
|
|
ldmia r2!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r2]
|
|
str r0, [r3]
|
|
bx lr
|
|
thumb_func_end sub_0205F9B0
|
|
|
|
thumb_func_start sub_0205F9C0
|
|
sub_0205F9C0: ; 0x0205F9C0
|
|
add r3, r1, #0
|
|
add r2, r0, #0
|
|
ldmia r3!, {r0, r1}
|
|
add r2, #0x94
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
str r0, [r2]
|
|
bx lr
|
|
thumb_func_end sub_0205F9C0
|
|
|
|
thumb_func_start sub_0205F9D0
|
|
sub_0205F9D0: ; 0x0205F9D0
|
|
push {r3, lr}
|
|
bl MapObject_GetPosVecYCoord
|
|
asr r1, r0, #3
|
|
asr r0, r1, #0xb
|
|
lsr r0, r0, #0x14
|
|
add r0, r1, r0
|
|
asr r0, r0, #0xc
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205F9D0
|
|
|
|
thumb_func_start ObjectEventTemplate_SetID
|
|
ObjectEventTemplate_SetID: ; 0x0205F9E4
|
|
strh r1, [r0]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_SetID
|
|
|
|
thumb_func_start ObjectEventTemplate_GetID
|
|
ObjectEventTemplate_GetID: ; 0x0205F9E8
|
|
ldrh r0, [r0]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_GetID
|
|
|
|
thumb_func_start ObjectEventTemplate_SetSprite
|
|
ObjectEventTemplate_SetSprite: ; 0x0205F9EC
|
|
strh r1, [r0, #2]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_SetSprite
|
|
|
|
thumb_func_start ObjectEventTemplate_GetSprite
|
|
ObjectEventTemplate_GetSprite: ; 0x0205F9F0
|
|
ldrh r0, [r0, #2]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_GetSprite
|
|
|
|
thumb_func_start ObjectEventTemplate_SetMovement
|
|
ObjectEventTemplate_SetMovement: ; 0x0205F9F4
|
|
strh r1, [r0, #4]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_SetMovement
|
|
|
|
thumb_func_start ObjectEventTemplate_GetMovement
|
|
ObjectEventTemplate_GetMovement: ; 0x0205F9F8
|
|
ldrh r0, [r0, #4]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_GetMovement
|
|
|
|
thumb_func_start ObjectEventTemplate_SetType
|
|
ObjectEventTemplate_SetType: ; 0x0205F9FC
|
|
strh r1, [r0, #6]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_SetType
|
|
|
|
thumb_func_start ObjectEventTemplate_GetType
|
|
ObjectEventTemplate_GetType: ; 0x0205FA00
|
|
ldrh r0, [r0, #6]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_GetType
|
|
|
|
thumb_func_start ObjectEventTemplate_SetFlagID
|
|
ObjectEventTemplate_SetFlagID: ; 0x0205FA04
|
|
strh r1, [r0, #8]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_SetFlagID
|
|
|
|
thumb_func_start ObjectEventTemplate_GetFlagID
|
|
ObjectEventTemplate_GetFlagID: ; 0x0205FA08
|
|
ldrh r0, [r0, #8]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_GetFlagID
|
|
|
|
thumb_func_start ObjectEventTemplate_SetScript
|
|
ObjectEventTemplate_SetScript: ; 0x0205FA0C
|
|
strh r1, [r0, #0xa]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_SetScript
|
|
|
|
thumb_func_start ObjectEventTemplate_GetScript
|
|
ObjectEventTemplate_GetScript: ; 0x0205FA10
|
|
ldrh r0, [r0, #0xa]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_GetScript
|
|
|
|
thumb_func_start ObjectEventTemplate_SetFacing
|
|
ObjectEventTemplate_SetFacing: ; 0x0205FA14
|
|
strh r1, [r0, #0xc]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_SetFacing
|
|
|
|
thumb_func_start ObjectEventTemplate_GetFacing
|
|
ObjectEventTemplate_GetFacing: ; 0x0205FA18
|
|
mov r1, #0xc
|
|
ldrsh r0, [r0, r1]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ObjectEventTemplate_GetFacing
|
|
|
|
thumb_func_start ObjectEventTemplate_SetParam
|
|
ObjectEventTemplate_SetParam: ; 0x0205FA20
|
|
push {r3, lr}
|
|
cmp r2, #0
|
|
beq _0205FA30
|
|
cmp r2, #1
|
|
beq _0205FA34
|
|
cmp r2, #2
|
|
beq _0205FA38
|
|
b _0205FA3C
|
|
_0205FA30:
|
|
strh r1, [r0, #0xe]
|
|
pop {r3, pc}
|
|
_0205FA34:
|
|
strh r1, [r0, #0x10]
|
|
pop {r3, pc}
|
|
_0205FA38:
|
|
strh r1, [r0, #0x12]
|
|
pop {r3, pc}
|
|
_0205FA3C:
|
|
bl GF_AssertFail
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ObjectEventTemplate_SetParam
|
|
|
|
thumb_func_start ObjectEventTemplate_GetParam
|
|
ObjectEventTemplate_GetParam: ; 0x0205FA44
|
|
push {r3, lr}
|
|
cmp r1, #0
|
|
beq _0205FA54
|
|
cmp r1, #1
|
|
beq _0205FA58
|
|
cmp r1, #2
|
|
beq _0205FA5C
|
|
b _0205FA60
|
|
_0205FA54:
|
|
ldrh r0, [r0, #0xe]
|
|
pop {r3, pc}
|
|
_0205FA58:
|
|
ldrh r0, [r0, #0x10]
|
|
pop {r3, pc}
|
|
_0205FA5C:
|
|
ldrh r0, [r0, #0x12]
|
|
pop {r3, pc}
|
|
_0205FA60:
|
|
bl GF_AssertFail
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ObjectEventTemplate_GetParam
|
|
|
|
thumb_func_start ObjectEventTemplate_SetXRange
|
|
ObjectEventTemplate_SetXRange: ; 0x0205FA68
|
|
strh r1, [r0, #0x14]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_SetXRange
|
|
|
|
thumb_func_start ObjectEventTemplate_GetXRange
|
|
ObjectEventTemplate_GetXRange: ; 0x0205FA6C
|
|
mov r1, #0x14
|
|
ldrsh r0, [r0, r1]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ObjectEventTemplate_GetXRange
|
|
|
|
thumb_func_start ObjectEventTemplate_SetYRange
|
|
ObjectEventTemplate_SetYRange: ; 0x0205FA74
|
|
strh r1, [r0, #0x16]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_SetYRange
|
|
|
|
thumb_func_start ObjectEventTemplate_GetYRange
|
|
ObjectEventTemplate_GetYRange: ; 0x0205FA78
|
|
mov r1, #0x16
|
|
ldrsh r0, [r0, r1]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ObjectEventTemplate_GetYRange
|
|
|
|
thumb_func_start ObjectEventTemplate_SetXCoord
|
|
ObjectEventTemplate_SetXCoord: ; 0x0205FA80
|
|
strh r1, [r0, #0x18]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_SetXCoord
|
|
|
|
thumb_func_start ObjectEventTemplate_GetXCoord
|
|
ObjectEventTemplate_GetXCoord: ; 0x0205FA84
|
|
ldrh r0, [r0, #0x18]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_GetXCoord
|
|
|
|
thumb_func_start ObjectEventTemplate_SetHeight
|
|
ObjectEventTemplate_SetHeight: ; 0x0205FA88
|
|
str r1, [r0, #0x1c]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_SetHeight
|
|
|
|
thumb_func_start ObjectEventTemplate_GetHeight
|
|
ObjectEventTemplate_GetHeight: ; 0x0205FA8C
|
|
ldr r0, [r0, #0x1c]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_GetHeight
|
|
|
|
thumb_func_start ObjectEventTemplate_SetYCoord
|
|
ObjectEventTemplate_SetYCoord: ; 0x0205FA90
|
|
strh r1, [r0, #0x1a]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_SetYCoord
|
|
|
|
thumb_func_start ObjectEventTemplate_GetYCoord
|
|
ObjectEventTemplate_GetYCoord: ; 0x0205FA94
|
|
ldrh r0, [r0, #0x1a]
|
|
bx lr
|
|
thumb_func_end ObjectEventTemplate_GetYCoord
|
|
|
|
thumb_func_start sub_0205FA98
|
|
sub_0205FA98: ; 0x0205FA98
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
add r7, r1, #0
|
|
str r2, [sp]
|
|
mov r4, #0
|
|
add r5, r2, #0
|
|
_0205FAA4:
|
|
add r0, r5, #0
|
|
bl ObjectEventTemplate_ScriptIdIsFFFF
|
|
cmp r0, #0
|
|
bne _0205FAC0
|
|
add r0, r5, #0
|
|
bl ObjectEventTemplate_GetID
|
|
cmp r6, r0
|
|
bne _0205FAC0
|
|
ldr r0, [sp]
|
|
lsl r1, r4, #5
|
|
add r0, r0, r1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205FAC0:
|
|
add r4, r4, #1
|
|
add r5, #0x20
|
|
cmp r4, r7
|
|
blt _0205FAA4
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end sub_0205FA98
|
|
|
|
thumb_func_start ObjectEventTemplate_ScriptIdIsFFFF
|
|
ObjectEventTemplate_ScriptIdIsFFFF: ; 0x0205FACC
|
|
push {r3, lr}
|
|
bl ObjectEventTemplate_GetScript
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
ldr r0, _0205FAE4 ; =0x0000FFFF
|
|
cmp r1, r0
|
|
bne _0205FAE0
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0205FAE0:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_0205FAE4: .word 0x0000FFFF
|
|
thumb_func_end ObjectEventTemplate_ScriptIdIsFFFF
|
|
|
|
thumb_func_start ObjectEventTemplate_GetFlagID_AssertScriptIdIsFFFF
|
|
ObjectEventTemplate_GetFlagID_AssertScriptIdIsFFFF: ; 0x0205FAE8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ObjectEventTemplate_ScriptIdIsFFFF
|
|
cmp r0, #1
|
|
beq _0205FAF8
|
|
bl GF_AssertFail
|
|
_0205FAF8:
|
|
add r0, r4, #0
|
|
bl ObjectEventTemplate_GetFlagID
|
|
pop {r4, pc}
|
|
thumb_func_end ObjectEventTemplate_GetFlagID_AssertScriptIdIsFFFF
|
|
|
|
thumb_func_start sub_0205FB00
|
|
sub_0205FB00: ; 0x0205FB00
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
cmp r4, #0x39
|
|
blo _0205FB0C
|
|
bl GF_AssertFail
|
|
_0205FB0C:
|
|
ldr r0, _0205FB14 ; =_020FD1F4
|
|
lsl r1, r4, #2
|
|
ldr r0, [r0, r1]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0205FB14: .word _020FD1F4
|
|
thumb_func_end sub_0205FB00
|
|
|
|
thumb_func_start sub_0205FB18
|
|
sub_0205FB18: ; 0x0205FB18
|
|
ldr r0, [r0, #4]
|
|
bx lr
|
|
thumb_func_end sub_0205FB18
|
|
|
|
thumb_func_start sub_0205FB1C
|
|
sub_0205FB1C: ; 0x0205FB1C
|
|
ldr r0, [r0, #8]
|
|
bx lr
|
|
thumb_func_end sub_0205FB1C
|
|
|
|
thumb_func_start sub_0205FB20
|
|
sub_0205FB20: ; 0x0205FB20
|
|
ldr r0, [r0, #0xc]
|
|
bx lr
|
|
thumb_func_end sub_0205FB20
|
|
|
|
thumb_func_start sub_0205FB24
|
|
sub_0205FB24: ; 0x0205FB24
|
|
ldr r0, [r0]
|
|
bx lr
|
|
thumb_func_end sub_0205FB24
|
|
|
|
thumb_func_start sub_0205FB28
|
|
sub_0205FB28: ; 0x0205FB28
|
|
ldr r0, [r0, #4]
|
|
bx lr
|
|
thumb_func_end sub_0205FB28
|
|
|
|
thumb_func_start sub_0205FB2C
|
|
sub_0205FB2C: ; 0x0205FB2C
|
|
ldr r0, [r0, #8]
|
|
bx lr
|
|
thumb_func_end sub_0205FB2C
|
|
|
|
thumb_func_start sub_0205FB30
|
|
sub_0205FB30: ; 0x0205FB30
|
|
ldr r0, [r0, #0xc]
|
|
bx lr
|
|
thumb_func_end sub_0205FB30
|
|
|
|
thumb_func_start sub_0205FB34
|
|
sub_0205FB34: ; 0x0205FB34
|
|
ldr r0, [r0, #0x10]
|
|
bx lr
|
|
thumb_func_end sub_0205FB34
|
|
|
|
thumb_func_start sub_0205FB38
|
|
sub_0205FB38: ; 0x0205FB38
|
|
push {r3, lr}
|
|
bl GetObjectEventGfxInfoPtr
|
|
cmp r0, #0
|
|
bne _0205FB46
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_0205FB46:
|
|
ldrh r0, [r0, #4]
|
|
lsl r0, r0, #0x16
|
|
lsr r0, r0, #0x1b
|
|
lsl r1, r0, #2
|
|
ldr r0, _0205FB54 ; =ov01_02209A38
|
|
ldr r0, [r0, r1]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_0205FB54: .word ov01_02209A38
|
|
thumb_func_end sub_0205FB38
|
|
|
|
thumb_func_start sub_0205FB58
|
|
sub_0205FB58: ; 0x0205FB58
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
add r6, r2, #0
|
|
str r3, [sp]
|
|
bl MapObjectMan_GetCount
|
|
add r7, r0, #0
|
|
add r0, r4, #0
|
|
bl MapObjectMan_GetArray
|
|
add r4, r0, #0
|
|
_0205FB70:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MapObject_GetBitsMask
|
|
cmp r0, #0
|
|
beq _0205FBB2
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
beq _0205FB9A
|
|
add r0, r4, #0
|
|
bl MapObject_GetPrevX
|
|
cmp r5, r0
|
|
bne _0205FB9A
|
|
add r0, r4, #0
|
|
bl MapObject_GetPrevY
|
|
cmp r6, r0
|
|
bne _0205FB9A
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205FB9A:
|
|
add r0, r4, #0
|
|
bl MapObject_GetCurrentX
|
|
cmp r5, r0
|
|
bne _0205FBB2
|
|
add r0, r4, #0
|
|
bl MapObject_GetCurrentY
|
|
cmp r6, r0
|
|
bne _0205FBB2
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205FBB2:
|
|
mov r0, #0x4b
|
|
lsl r0, r0, #2
|
|
add r4, r4, r0
|
|
sub r7, r7, #1
|
|
bne _0205FB70
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end sub_0205FB58
|
|
|
|
thumb_func_start sub_0205FBC0
|
|
sub_0205FBC0: ; 0x0205FBC0
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
add r6, r2, #0
|
|
asr r2, r1, #4
|
|
asr r1, r2, #0xb
|
|
lsr r1, r1, #0x14
|
|
add r1, r2, r1
|
|
asr r1, r1, #0xc
|
|
add r5, r0, #0
|
|
bl MapObject_SetCurrentX
|
|
ldr r1, [r4, #4]
|
|
add r0, r5, #0
|
|
asr r2, r1, #3
|
|
asr r1, r2, #0xb
|
|
lsr r1, r1, #0x14
|
|
add r1, r2, r1
|
|
asr r1, r1, #0xc
|
|
bl MapObject_SetCurrentHeight
|
|
ldr r1, [r4, #8]
|
|
add r0, r5, #0
|
|
asr r2, r1, #4
|
|
asr r1, r2, #0xb
|
|
lsr r1, r1, #0x14
|
|
add r1, r2, r1
|
|
asr r1, r1, #0xc
|
|
bl MapObject_SetCurrentY
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MapObject_SetPositionVec
|
|
add r0, r5, #0
|
|
bl sub_02060F78
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MapObject_ForceSetFacingDirection
|
|
add r0, r5, #0
|
|
bl MapObject_ClearHeldMovement
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
bl MapObject_SetBits
|
|
add r0, r5, #0
|
|
mov r1, #0xa
|
|
bl MapObject_ClearBits
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205FBC0
|
|
|
|
thumb_func_start sub_0205FC2C
|
|
sub_0205FC2C: ; 0x0205FC2C
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r4, r2, #0
|
|
mov r2, #2
|
|
add r6, r3, #0
|
|
lsl r3, r1, #0x10
|
|
lsl r2, r2, #0xe
|
|
add r2, r3, r2
|
|
add r5, r0, #0
|
|
str r2, [sp]
|
|
bl MapObject_SetCurrentX
|
|
lsl r0, r4, #0xf
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MapObject_SetCurrentHeight
|
|
mov r0, #2
|
|
lsl r1, r6, #0x10
|
|
lsl r0, r0, #0xe
|
|
add r0, r1, r0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MapObject_SetCurrentY
|
|
add r0, r5, #0
|
|
add r1, sp, #0
|
|
bl MapObject_SetPositionVec
|
|
add r0, r5, #0
|
|
bl sub_02060F78
|
|
ldr r1, [sp, #0x20]
|
|
add r0, r5, #0
|
|
bl MapObject_ForceSetFacingDirection
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
bl MapObject_SetBits
|
|
add r0, r5, #0
|
|
mov r1, #0xa
|
|
bl MapObject_ClearBits
|
|
add r0, r5, #0
|
|
bl MapObject_ClearHeldMovement
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205FC2C
|
|
|
|
thumb_func_start sub_0205FC94
|
|
sub_0205FC94: ; 0x0205FC94
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl sub_0205F444
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MapObject_SetMovement
|
|
add r0, r5, #0
|
|
bl sub_0205ECE0
|
|
add r0, r5, #0
|
|
bl sub_0205FD20
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end sub_0205FC94
|
|
|
|
thumb_func_start sub_0205FCB4
|
|
sub_0205FCB4: ; 0x0205FCB4
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205FCB4
|
|
|
|
thumb_func_start sub_0205FCB8
|
|
sub_0205FCB8: ; 0x0205FCB8
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205FCB8
|
|
|
|
thumb_func_start sub_0205FCBC
|
|
sub_0205FCBC: ; 0x0205FCBC
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205FCBC
|
|
|
|
thumb_func_start sub_0205FCC0
|
|
sub_0205FCC0: ; 0x0205FCC0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205FCC0
|
|
|
|
thumb_func_start sub_0205FCC4
|
|
sub_0205FCC4: ; 0x0205FCC4
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205FCC4
|
|
|
|
thumb_func_start sub_0205FCC8
|
|
sub_0205FCC8: ; 0x0205FCC8
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205FCC8
|
|
|
|
thumb_func_start sub_0205FCCC
|
|
sub_0205FCCC: ; 0x0205FCCC
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205FCCC
|
|
|
|
thumb_func_start sub_0205FCD0
|
|
sub_0205FCD0: ; 0x0205FCD0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205FCD0
|
|
|
|
thumb_func_start sub_0205FCD4
|
|
sub_0205FCD4: ; 0x0205FCD4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MapObject_GetGfxID
|
|
mov r1, #2
|
|
lsl r1, r1, #0xc
|
|
cmp r0, r1
|
|
bne _0205FCE8
|
|
ldr r0, _0205FCFC ; =ov01_0220724C
|
|
b _0205FCEC
|
|
_0205FCE8:
|
|
bl sub_0205FB38
|
|
_0205FCEC:
|
|
bl sub_0205FB28
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl sub_0205F47C
|
|
pop {r4, pc}
|
|
nop
|
|
_0205FCFC: .word ov01_0220724C
|
|
thumb_func_end sub_0205FCD4
|
|
|
|
thumb_func_start sub_0205FD00
|
|
sub_0205FD00: ; 0x0205FD00
|
|
push {r3, r4}
|
|
cmp r1, #0
|
|
beq _0205FD1A
|
|
mov r3, #1
|
|
_0205FD08:
|
|
ldr r4, [r0]
|
|
tst r4, r3
|
|
beq _0205FD14
|
|
ldrh r4, [r0, #0x12]
|
|
cmp r4, r2
|
|
beq _0205FD1C
|
|
_0205FD14:
|
|
add r0, #0x50
|
|
sub r1, r1, #1
|
|
bne _0205FD08
|
|
_0205FD1A:
|
|
mov r0, #0
|
|
_0205FD1C:
|
|
pop {r3, r4}
|
|
bx lr
|
|
thumb_func_end sub_0205FD00
|