mirror of
https://github.com/pret/pokediamond.git
synced 2026-10-07 09:26:57 -04:00
2320 lines
41 KiB
ArmAsm
2320 lines
41 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
|
|
.extern UNK_020F6364
|
|
.extern sub_02057EE0
|
|
.extern sub_02057F18
|
|
.extern sub_0205815C
|
|
.extern sub_0205818C
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_020581B4
|
|
sub_020581B4: ; 0x020581B4
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl MapObject_GetManager
|
|
bl sub_020587E0
|
|
cmp r0, #0x0
|
|
beq _020581F6
|
|
add r0, r4, #0x0
|
|
bl sub_0205818C
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_02058544
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl ov05_021F2E0C
|
|
add r0, r4, #0x0
|
|
bl MapObject_CheckFlag14
|
|
cmp r0, #0x0
|
|
bne _020581F6
|
|
add r0, r4, #0x0
|
|
bl sub_02057F18
|
|
add r0, r4, #0x0
|
|
bl sub_0205868C
|
|
add r0, r4, #0x0
|
|
bl sub_02058878
|
|
_020581F6:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start MapObject_ScriptIdIsFFFF
|
|
MapObject_ScriptIdIsFFFF: ; 0x020581F8
|
|
push {r3, lr}
|
|
bl MapObject_GetScript
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
ldr r0, _02058210 ; =0x0000FFFF
|
|
cmp r1, r0
|
|
bne _0205820C
|
|
mov r0, #0x1
|
|
pop {r3, pc}
|
|
_0205820C:
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
.balign 4
|
|
_02058210: .word 0x0000FFFF
|
|
|
|
thumb_func_start sub_02058214
|
|
sub_02058214: ; 0x02058214
|
|
push {r4-r6, lr}
|
|
add r5, r0, #0x0
|
|
add r4, r1, #0x0
|
|
add r6, r2, #0x0
|
|
bl MapObject_CheckFlag25
|
|
cmp r0, #0x1
|
|
beq _02058228
|
|
bl GF_AssertFail
|
|
_02058228:
|
|
add r0, r5, #0x0
|
|
mov r1, #0x0
|
|
bl MapObject_SetFlag25
|
|
add r0, r5, #0x0
|
|
add r1, r6, #0x0
|
|
bl sub_0205844C
|
|
add r0, r4, #0x0
|
|
bl ObjectEvent_GetScript
|
|
add r1, r0, #0x0
|
|
add r0, r5, #0x0
|
|
bl MapObject_SetScript
|
|
add r0, r4, #0x0
|
|
bl ObjectEvent_GetFlagID
|
|
add r1, r0, #0x0
|
|
add r0, r5, #0x0
|
|
bl MapObject_SetFlagID
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058258
|
|
sub_02058258: ; 0x02058258
|
|
push {r4-r6, lr}
|
|
add r6, r2, #0x0
|
|
add r5, r0, #0x0
|
|
add r0, r6, #0x0
|
|
add r4, r1, #0x0
|
|
bl ObjectEvent_ScriptIDIsUnset
|
|
cmp r0, #0x1
|
|
beq _0205826E
|
|
bl GF_AssertFail
|
|
_0205826E:
|
|
add r0, r5, #0x0
|
|
mov r1, #0x1
|
|
bl MapObject_SetFlag25
|
|
add r0, r6, #0x0
|
|
bl ObjectEvent_GetScript
|
|
add r1, r0, #0x0
|
|
add r0, r5, #0x0
|
|
bl MapObject_SetScript
|
|
add r0, r6, #0x0
|
|
bl ObjectEvent_GetFlagID_AssertScriptIDIsUnset
|
|
add r1, r0, #0x0
|
|
add r0, r5, #0x0
|
|
bl MapObject_SetFlagID
|
|
add r0, r5, #0x0
|
|
add r1, r4, #0x0
|
|
bl sub_0205844C
|
|
pop {r4-r6, pc}
|
|
|
|
thumb_func_start sub_0205829C
|
|
sub_0205829C: ; 0x0205829C
|
|
push {r4, lr}
|
|
add r4, r1, #0x0
|
|
bl sub_02058744
|
|
add r0, r0, r4
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_020582A8
|
|
sub_020582A8: ; 0x020582A8
|
|
push {r4-r6, lr}
|
|
add r6, r1, #0x0
|
|
mov r1, #0x1
|
|
add r5, r0, #0x0
|
|
add r4, r2, #0x0
|
|
bl MapObject_TestFlagsBits
|
|
cmp r0, #0x0
|
|
bne _020582BE
|
|
mov r0, #0x0
|
|
pop {r4-r6, pc}
|
|
_020582BE:
|
|
add r0, r5, #0x0
|
|
bl MapObject_GetID
|
|
cmp r6, r0
|
|
beq _020582CC
|
|
mov r0, #0x0
|
|
pop {r4-r6, pc}
|
|
_020582CC:
|
|
add r0, r5, #0x0
|
|
bl sub_02058450
|
|
cmp r4, r0
|
|
beq _020582F2
|
|
add r0, r5, #0x0
|
|
bl MapObject_CheckFlag25
|
|
cmp r0, #0x0
|
|
bne _020582E4
|
|
mov r0, #0x0
|
|
pop {r4-r6, pc}
|
|
_020582E4:
|
|
add r0, r5, #0x0
|
|
bl sub_02058750
|
|
cmp r4, r0
|
|
beq _020582F2
|
|
mov r0, #0x0
|
|
pop {r4-r6, pc}
|
|
_020582F2:
|
|
mov r0, #0x1
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_020582F8
|
|
sub_020582F8: ; 0x020582F8
|
|
push {r3-r7, lr}
|
|
add r4, r1, #0x0
|
|
mov r1, #0x1
|
|
add r5, r0, #0x0
|
|
add r6, r2, #0x0
|
|
add r7, r3, #0x0
|
|
bl MapObject_TestFlagsBits
|
|
cmp r0, #0x0
|
|
bne _02058310
|
|
mov r0, #0x0
|
|
pop {r3-r7, pc}
|
|
_02058310:
|
|
add r0, r5, #0x0
|
|
bl sub_0205845C
|
|
cmp r0, r4
|
|
beq _0205831E
|
|
mov r0, #0x0
|
|
pop {r3-r7, pc}
|
|
_0205831E:
|
|
add r0, r5, #0x0
|
|
add r1, r6, #0x0
|
|
add r2, r7, #0x0
|
|
bl sub_020582A8
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0205832C
|
|
sub_0205832C: ; 0x0205832C
|
|
push {r4, lr}
|
|
add r4, r1, #0x0
|
|
add r0, r4, #0x0
|
|
bl sub_02058EF8
|
|
add r0, r4, #0x0
|
|
bl MapObject_IsInUse
|
|
cmp r0, #0x0
|
|
beq _02058346
|
|
add r0, r4, #0x0
|
|
bl sub_02058348
|
|
_02058346:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_02058348
|
|
sub_02058348: ; 0x02058348
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl MapObject_GetManager
|
|
bl sub_020587E0
|
|
cmp r0, #0x1
|
|
bne _0205835E
|
|
add r0, r4, #0x0
|
|
bl ov05_021F1D8C
|
|
_0205835E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start MapObjectManager_Get
|
|
MapObjectManager_Get: ; 0x02058360
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start MapObjectManager_SetObjectCount
|
|
MapObjectManager_SetObjectCount: ; 0x02058364
|
|
str r1, [r0, #0x4]
|
|
bx lr
|
|
|
|
thumb_func_start MapObjectManager_GetObjectCount
|
|
MapObjectManager_GetObjectCount: ; 0x02058368
|
|
ldr r0, [r0, #0x4]
|
|
bx lr
|
|
|
|
thumb_func_start sub_0205836C
|
|
sub_0205836C: ; 0x0205836C
|
|
ldr r1, [r0, #0x8]
|
|
add r1, r1, #0x1
|
|
str r1, [r0, #0x8]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058374
|
|
sub_02058374: ; 0x02058374
|
|
ldr r1, [r0, #0x8]
|
|
sub r1, r1, #0x1
|
|
str r1, [r0, #0x8]
|
|
bx lr
|
|
|
|
thumb_func_start sub_0205837C
|
|
sub_0205837C: ; 0x0205837C
|
|
ldr r2, [r0, #0x0]
|
|
orr r1, r2
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058384
|
|
sub_02058384: ; 0x02058384
|
|
ldr r2, [r0, #0x0]
|
|
mvn r1, r1
|
|
and r1, r2
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058390
|
|
sub_02058390: ; 0x02058390
|
|
ldr r0, [r0, #0x0]
|
|
and r0, r1
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start MapObjectManager_SetPriority
|
|
MapObjectManager_SetPriority: ; 0x02058398
|
|
str r1, [r0, #0xc]
|
|
bx lr
|
|
|
|
thumb_func_start MapObjectManager_GetPriority
|
|
MapObjectManager_GetPriority: ; 0x0205839C
|
|
ldr r0, [r0, #0xc]
|
|
bx lr
|
|
|
|
thumb_func_start sub_020583A0
|
|
sub_020583A0: ; 0x020583A0
|
|
add r0, #0x18
|
|
bx lr
|
|
|
|
thumb_func_start sub_020583A4
|
|
sub_020583A4: ; 0x020583A4
|
|
mov r2, #0x12
|
|
lsl r2, r2, #0x4
|
|
str r1, [r0, r2]
|
|
bx lr
|
|
|
|
thumb_func_start sub_020583AC
|
|
sub_020583AC: ; 0x020583AC
|
|
mov r1, #0x12
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
|
|
thumb_func_start MapObjectManager_SetObjects
|
|
MapObjectManager_SetObjects: ; 0x020583B4
|
|
mov r2, #0x49
|
|
lsl r2, r2, #0x2
|
|
str r1, [r0, r2]
|
|
bx lr
|
|
|
|
thumb_func_start sub_020583BC
|
|
sub_020583BC: ; 0x020583BC
|
|
mov r1, #0x49
|
|
lsl r1, r1, #0x2
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
|
|
thumb_func_start MapObjectManager_GetConstObjects
|
|
MapObjectManager_GetConstObjects: ; 0x020583C4
|
|
mov r1, #0x49
|
|
lsl r1, r1, #0x2
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
|
|
thumb_func_start MapObjectManager_GetObjects
|
|
MapObjectManager_GetObjects: ; 0x020583CC
|
|
mov r1, #0x49
|
|
lsl r1, r1, #0x2
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
|
|
thumb_func_start sub_020583D4
|
|
sub_020583D4: ; 0x020583D4
|
|
mov r1, #0x4a
|
|
ldr r2, [r0, #0x0]
|
|
lsl r1, r1, #0x2
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
|
|
thumb_func_start MapObjectManager_SetFieldSystemPtr
|
|
MapObjectManager_SetFieldSystemPtr: ; 0x020583E0
|
|
mov r2, #0x4a
|
|
lsl r2, r2, #0x2
|
|
str r1, [r0, r2]
|
|
bx lr
|
|
|
|
thumb_func_start MapObjectManager_GetFieldSystemPtr
|
|
MapObjectManager_GetFieldSystemPtr: ; 0x020583E8
|
|
mov r1, #0x4a
|
|
lsl r1, r1, #0x2
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
|
|
thumb_func_start sub_020583F0
|
|
sub_020583F0: ; 0x020583F0
|
|
str r1, [r0, #0x14]
|
|
bx lr
|
|
|
|
thumb_func_start sub_020583F4
|
|
sub_020583F4: ; 0x020583F4
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0x0
|
|
bne _02058402
|
|
bl GF_AssertFail
|
|
_02058402:
|
|
ldr r0, [r4, #0x14]
|
|
pop {r4, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start MapObject_SetFlagsWord
|
|
MapObject_SetFlagsWord: ; 0x02058408
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetFlagsWord
|
|
MapObject_GetFlagsWord: ; 0x0205840C
|
|
ldr r0, [r0, #0x0]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetFlagsBits
|
|
MapObject_SetFlagsBits: ; 0x02058410
|
|
ldr r2, [r0, #0x0]
|
|
orr r1, r2
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_ClearFlagsBits
|
|
MapObject_ClearFlagsBits: ; 0x02058418
|
|
ldr r2, [r0, #0x0]
|
|
mvn r1, r1
|
|
and r1, r2
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start MapObject_GetFlagsBits
|
|
MapObject_GetFlagsBits: ; 0x02058424
|
|
ldr r0, [r0, #0x0]
|
|
and r0, r1
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start MapObject_TestFlagsBits
|
|
MapObject_TestFlagsBits: ; 0x0205842C
|
|
ldr r0, [r0, #0x0]
|
|
tst r0, r1
|
|
beq _02058436
|
|
mov r0, #0x1
|
|
bx lr
|
|
_02058436:
|
|
mov r0, #0x0
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start MapObject_SetFlags2Word
|
|
MapObject_SetFlags2Word: ; 0x0205843C
|
|
str r1, [r0, #0x4]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetFlags2Word
|
|
MapObject_GetFlags2Word: ; 0x02058440
|
|
ldr r0, [r0, #0x4]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetID
|
|
MapObject_SetID: ; 0x02058444
|
|
str r1, [r0, #0x8]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetID
|
|
MapObject_GetID: ; 0x02058448
|
|
ldr r0, [r0, #0x8]
|
|
bx lr
|
|
|
|
thumb_func_start sub_0205844C
|
|
sub_0205844C: ; 0x0205844C
|
|
str r1, [r0, #0xc]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058450
|
|
sub_02058450: ; 0x02058450
|
|
ldr r0, [r0, #0xc]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetSpriteID
|
|
MapObject_SetSpriteID: ; 0x02058454
|
|
str r1, [r0, #0x10]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetSpriteID
|
|
MapObject_GetSpriteID: ; 0x02058458
|
|
ldr r0, [r0, #0x10]
|
|
bx lr
|
|
|
|
thumb_func_start sub_0205845C
|
|
sub_0205845C: ; 0x0205845C
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
bl MapObject_GetSpriteID
|
|
add r4, r0, #0x0
|
|
bl sub_0205C334
|
|
cmp r0, #0x1
|
|
bne _02058476
|
|
add r0, r5, #0x0
|
|
bl sub_0205C340
|
|
add r4, r0, #0x0
|
|
_02058476:
|
|
add r0, r4, #0x0
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start MapObject_SetMovement
|
|
MapObject_SetMovement: ; 0x0205847C
|
|
str r1, [r0, #0x14]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetMovement
|
|
MapObject_GetMovement: ; 0x02058480
|
|
ldr r0, [r0, #0x14]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetType
|
|
MapObject_SetType: ; 0x02058484
|
|
str r1, [r0, #0x18]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetType
|
|
MapObject_GetType: ; 0x02058488
|
|
ldr r0, [r0, #0x18]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetFlagID
|
|
MapObject_SetFlagID: ; 0x0205848C
|
|
str r1, [r0, #0x1c]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetFlagID
|
|
MapObject_GetFlagID: ; 0x02058490
|
|
ldr r0, [r0, #0x1c]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetScript
|
|
MapObject_SetScript: ; 0x02058494
|
|
str r1, [r0, #0x20]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetScript
|
|
MapObject_GetScript: ; 0x02058498
|
|
ldr r0, [r0, #0x20]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetInitialFacingDirection
|
|
MapObject_SetInitialFacingDirection: ; 0x0205849C
|
|
str r1, [r0, #0x24]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetInitialFacingDirection
|
|
MapObject_GetInitialFacingDirection: ; 0x020584A0
|
|
ldr r0, [r0, #0x24]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetFacingDirectionDirect
|
|
MapObject_SetFacingDirectionDirect: ; 0x020584A4
|
|
ldr r2, [r0, #0x28]
|
|
str r2, [r0, #0x30]
|
|
str r1, [r0, #0x28]
|
|
bx lr
|
|
|
|
thumb_func_start sub_020584AC
|
|
sub_020584AC: ; 0x020584AC
|
|
push {r3-r5, lr}
|
|
add r4, r1, #0x0
|
|
mov r1, #0x80
|
|
add r5, r0, #0x0
|
|
bl MapObject_GetFlagsBits
|
|
cmp r0, #0x0
|
|
bne _020584C2
|
|
ldr r0, [r5, #0x28]
|
|
str r0, [r5, #0x30]
|
|
str r4, [r5, #0x28]
|
|
_020584C2:
|
|
pop {r3-r5, pc}
|
|
|
|
thumb_func_start MapObject_GetFacingDirection
|
|
MapObject_GetFacingDirection: ; 0x020584C4
|
|
ldr r0, [r0, #0x28]
|
|
bx lr
|
|
|
|
thumb_func_start sub_020584C8
|
|
sub_020584C8: ; 0x020584C8
|
|
ldr r0, [r0, #0x30]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetNextFacingDirection
|
|
MapObject_SetNextFacingDirection: ; 0x020584CC
|
|
ldr r2, [r0, #0x2c]
|
|
str r2, [r0, #0x34]
|
|
str r1, [r0, #0x2c]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetNextFacingDirection
|
|
MapObject_GetNextFacingDirection: ; 0x020584D4
|
|
ldr r0, [r0, #0x2c]
|
|
bx lr
|
|
|
|
thumb_func_start sub_020584D8
|
|
sub_020584D8: ; 0x020584D8
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
add r4, r1, #0x0
|
|
bl sub_020584AC
|
|
add r0, r5, #0x0
|
|
add r1, r4, #0x0
|
|
bl MapObject_SetNextFacingDirection
|
|
pop {r3-r5, pc}
|
|
|
|
thumb_func_start MapObject_SetParam
|
|
MapObject_SetParam: ; 0x020584EC
|
|
push {r3, lr}
|
|
cmp r2, #0x0
|
|
beq _020584FC
|
|
cmp r2, #0x1
|
|
beq _02058500
|
|
cmp r2, #0x2
|
|
beq _02058504
|
|
b _02058508
|
|
_020584FC:
|
|
str r1, [r0, #0x38]
|
|
pop {r3, pc}
|
|
_02058500:
|
|
str r1, [r0, #0x3c]
|
|
pop {r3, pc}
|
|
_02058504:
|
|
str r1, [r0, #0x40]
|
|
pop {r3, pc}
|
|
_02058508:
|
|
bl GF_AssertFail
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start MapObject_GetParam
|
|
MapObject_GetParam: ; 0x02058510
|
|
push {r3, lr}
|
|
cmp r1, #0x0
|
|
beq _02058520
|
|
cmp r1, #0x1
|
|
beq _02058524
|
|
cmp r1, #0x2
|
|
beq _02058528
|
|
b _0205852C
|
|
_02058520:
|
|
ldr r0, [r0, #0x38]
|
|
pop {r3, pc}
|
|
_02058524:
|
|
ldr r0, [r0, #0x3c]
|
|
pop {r3, pc}
|
|
_02058528:
|
|
ldr r0, [r0, #0x40]
|
|
pop {r3, pc}
|
|
_0205852C:
|
|
bl GF_AssertFail
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start MapObject_SetXRange
|
|
MapObject_SetXRange: ; 0x02058534
|
|
str r1, [r0, #0x44]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetXRange
|
|
MapObject_GetXRange: ; 0x02058538
|
|
ldr r0, [r0, #0x44]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetYRange
|
|
MapObject_SetYRange: ; 0x0205853C
|
|
str r1, [r0, #0x48]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetYRange
|
|
MapObject_GetYRange: ; 0x02058540
|
|
ldr r0, [r0, #0x48]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058544
|
|
sub_02058544: ; 0x02058544
|
|
add r0, #0xa0
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0205854C
|
|
sub_0205854C: ; 0x0205854C
|
|
add r0, #0xa0
|
|
ldr r0, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058554
|
|
sub_02058554: ; 0x02058554
|
|
add r0, #0xb0
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0205855C
|
|
sub_0205855C: ; 0x0205855C
|
|
add r0, #0xb0
|
|
ldr r0, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058564
|
|
sub_02058564: ; 0x02058564
|
|
push {r3, lr}
|
|
bl sub_0205855C
|
|
bl sub_0200CAB4
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start MapObject_SetManager
|
|
MapObject_SetManager: ; 0x02058570
|
|
add r0, #0xb4
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start MapObject_GetManager
|
|
MapObject_GetManager: ; 0x02058578
|
|
add r0, #0xb4
|
|
ldr r0, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058580
|
|
sub_02058580: ; 0x02058580
|
|
ldr r3, _02058588 ; =MapObjectManager_Get
|
|
add r0, #0xb4
|
|
ldr r0, [r0, #0x0]
|
|
bx r3
|
|
.balign 4
|
|
_02058588: .word MapObjectManager_Get
|
|
|
|
thumb_func_start sub_0205858C
|
|
sub_0205858C: ; 0x0205858C
|
|
push {r3-r5, lr}
|
|
add r5, r1, #0x0
|
|
add r4, r0, #0x0
|
|
cmp r5, #0x10
|
|
ble _0205859A
|
|
bl GF_AssertFail
|
|
_0205859A:
|
|
add r0, r4, #0x0
|
|
bl sub_020585B0
|
|
mov r1, #0x0
|
|
add r2, r5, #0x0
|
|
add r4, r0, #0x0
|
|
bl memset
|
|
add r0, r4, #0x0
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_020585B0
|
|
sub_020585B0: ; 0x020585B0
|
|
add r0, #0xd8
|
|
bx lr
|
|
|
|
thumb_func_start sub_020585B4
|
|
sub_020585B4: ; 0x020585B4
|
|
push {r3-r5, lr}
|
|
add r5, r1, #0x0
|
|
add r4, r0, #0x0
|
|
cmp r5, #0x10
|
|
ble _020585C2
|
|
bl GF_AssertFail
|
|
_020585C2:
|
|
add r0, r4, #0x0
|
|
bl sub_020585D8
|
|
mov r1, #0x0
|
|
add r2, r5, #0x0
|
|
add r4, r0, #0x0
|
|
bl memset
|
|
add r0, r4, #0x0
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_020585D8
|
|
sub_020585D8: ; 0x020585D8
|
|
add r0, #0xe8
|
|
bx lr
|
|
|
|
thumb_func_start sub_020585DC
|
|
sub_020585DC: ; 0x020585DC
|
|
push {r3-r5, lr}
|
|
add r5, r1, #0x0
|
|
add r4, r0, #0x0
|
|
cmp r5, #0x10
|
|
ble _020585EA
|
|
bl GF_AssertFail
|
|
_020585EA:
|
|
add r0, r4, #0x0
|
|
bl sub_02058600
|
|
mov r1, #0x0
|
|
add r2, r5, #0x0
|
|
add r4, r0, #0x0
|
|
bl memset
|
|
add r0, r4, #0x0
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058600
|
|
sub_02058600: ; 0x02058600
|
|
add r0, #0xf8
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058604
|
|
sub_02058604: ; 0x02058604
|
|
push {r3-r5, lr}
|
|
add r5, r1, #0x0
|
|
add r4, r0, #0x0
|
|
cmp r5, #0x20
|
|
ble _02058612
|
|
bl GF_AssertFail
|
|
_02058612:
|
|
add r0, r4, #0x0
|
|
bl sub_02058628
|
|
mov r1, #0x0
|
|
add r2, r5, #0x0
|
|
add r4, r0, #0x0
|
|
bl memset
|
|
add r0, r4, #0x0
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058628
|
|
sub_02058628: ; 0x02058628
|
|
mov r1, #0x42
|
|
lsl r1, r1, #0x2
|
|
add r0, r0, r1
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058630
|
|
sub_02058630: ; 0x02058630
|
|
add r0, #0xb8
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058638
|
|
sub_02058638: ; 0x02058638
|
|
push {r3, lr}
|
|
add r1, r0, #0x0
|
|
add r1, #0xb8
|
|
ldr r1, [r1, #0x0]
|
|
blx r1
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start sub_02058644
|
|
sub_02058644: ; 0x02058644
|
|
add r0, #0xbc
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0205864C
|
|
sub_0205864C: ; 0x0205864C
|
|
push {r3, lr}
|
|
add r1, r0, #0x0
|
|
add r1, #0xbc
|
|
ldr r1, [r1, #0x0]
|
|
blx r1
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start sub_02058658
|
|
sub_02058658: ; 0x02058658
|
|
add r0, #0xc0
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058660
|
|
sub_02058660: ; 0x02058660
|
|
push {r3, lr}
|
|
add r1, r0, #0x0
|
|
add r1, #0xc0
|
|
ldr r1, [r1, #0x0]
|
|
blx r1
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start sub_0205866C
|
|
sub_0205866C: ; 0x0205866C
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl MapObject_GetMovement
|
|
bl sub_02058D14
|
|
add r1, r0, #0x0
|
|
ldr r1, [r1, #0x10]
|
|
add r0, r4, #0x0
|
|
blx r1
|
|
pop {r4, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058684
|
|
sub_02058684: ; 0x02058684
|
|
add r0, #0xc4
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0205868C
|
|
sub_0205868C: ; 0x0205868C
|
|
push {r3, lr}
|
|
add r1, r0, #0x0
|
|
add r1, #0xc4
|
|
ldr r1, [r1, #0x0]
|
|
blx r1
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start sub_02058698
|
|
sub_02058698: ; 0x02058698
|
|
add r0, #0xc8
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_020586A0
|
|
sub_020586A0: ; 0x020586A0
|
|
push {r3, lr}
|
|
add r1, r0, #0x0
|
|
add r1, #0xc8
|
|
ldr r1, [r1, #0x0]
|
|
blx r1
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start sub_020586AC
|
|
sub_020586AC: ; 0x020586AC
|
|
add r0, #0xcc
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_020586B4
|
|
sub_020586B4: ; 0x020586B4
|
|
push {r3, lr}
|
|
add r1, r0, #0x0
|
|
add r1, #0xcc
|
|
ldr r1, [r1, #0x0]
|
|
blx r1
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start sub_020586C0
|
|
sub_020586C0: ; 0x020586C0
|
|
add r0, #0xd0
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_020586C8
|
|
sub_020586C8: ; 0x020586C8
|
|
push {r3, lr}
|
|
add r1, r0, #0x0
|
|
add r1, #0xd0
|
|
ldr r1, [r1, #0x0]
|
|
blx r1
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start sub_020586D4
|
|
sub_020586D4: ; 0x020586D4
|
|
add r0, #0xd4
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_020586DC
|
|
sub_020586DC: ; 0x020586DC
|
|
push {r3, lr}
|
|
add r1, r0, #0x0
|
|
add r1, #0xd4
|
|
ldr r1, [r1, #0x0]
|
|
blx r1
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start sub_020586E8
|
|
sub_020586E8: ; 0x020586E8
|
|
add r0, #0xa4
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_020586F0
|
|
sub_020586F0: ; 0x020586F0
|
|
add r0, #0xa4
|
|
ldr r0, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_020586F8
|
|
sub_020586F8: ; 0x020586F8
|
|
add r0, #0xa8
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058700
|
|
sub_02058700: ; 0x02058700
|
|
add r1, r0, #0x0
|
|
add r1, #0xa8
|
|
ldr r1, [r1, #0x0]
|
|
add r0, #0xa8
|
|
add r1, r1, #0x1
|
|
str r1, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058710
|
|
sub_02058710: ; 0x02058710
|
|
add r0, #0xa8
|
|
ldr r0, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058718
|
|
sub_02058718: ; 0x02058718
|
|
add r0, #0xac
|
|
strh r1, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058720
|
|
sub_02058720: ; 0x02058720
|
|
add r0, #0xac
|
|
ldrh r0, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058728
|
|
sub_02058728: ; 0x02058728
|
|
add r0, #0xae
|
|
strh r1, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058730
|
|
sub_02058730: ; 0x02058730
|
|
add r0, #0xae
|
|
ldrh r0, [r0, #0x0]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start MapObject_GetFieldSystem
|
|
MapObject_GetFieldSystem: ; 0x02058738
|
|
push {r3, lr}
|
|
bl sub_02058580
|
|
bl MapObjectManager_GetFieldSystemPtr
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start sub_02058744
|
|
sub_02058744: ; 0x02058744
|
|
push {r3, lr}
|
|
bl MapObject_GetManager
|
|
bl MapObjectManager_GetPriority
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start sub_02058750
|
|
sub_02058750: ; 0x02058750
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl MapObject_CheckFlag25
|
|
cmp r0, #0x1
|
|
beq _02058760
|
|
bl GF_AssertFail
|
|
_02058760:
|
|
add r0, r4, #0x0
|
|
bl MapObject_GetFlagID
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_02058768
|
|
sub_02058768: ; 0x02058768
|
|
ldr r3, _02058770 ; =sub_0205837C
|
|
mov r1, #0x6
|
|
bx r3
|
|
nop
|
|
_02058770: .word sub_0205837C
|
|
|
|
thumb_func_start sub_02058774
|
|
sub_02058774: ; 0x02058774
|
|
ldr r3, _0205877C ; =sub_02058384
|
|
mov r1, #0x6
|
|
bx r3
|
|
nop
|
|
_0205877C: .word sub_02058384
|
|
|
|
thumb_func_start MapObjectManager_PauseAllMovement
|
|
MapObjectManager_PauseAllMovement: ; 0x02058780
|
|
push {r4-r6, lr}
|
|
add r5, r0, #0x0
|
|
bl MapObjectManager_GetObjectCount
|
|
add r4, r0, #0x0
|
|
add r0, r5, #0x0
|
|
bl MapObjectManager_GetObjects
|
|
mov r6, #0x4a
|
|
add r5, r0, #0x0
|
|
lsl r6, r6, #0x2
|
|
_02058796:
|
|
add r0, r5, #0x0
|
|
bl MapObject_IsInUse
|
|
cmp r0, #0x0
|
|
beq _020587A6
|
|
add r0, r5, #0x0
|
|
bl sub_02058908
|
|
_020587A6:
|
|
add r5, r5, r6
|
|
sub r4, r4, #0x1
|
|
bne _02058796
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start MapObjectManager_UnpauseAllMovement
|
|
MapObjectManager_UnpauseAllMovement: ; 0x020587B0
|
|
push {r4-r6, lr}
|
|
add r5, r0, #0x0
|
|
bl MapObjectManager_GetObjectCount
|
|
add r4, r0, #0x0
|
|
add r0, r5, #0x0
|
|
bl MapObjectManager_GetObjects
|
|
mov r6, #0x4a
|
|
add r5, r0, #0x0
|
|
lsl r6, r6, #0x2
|
|
_020587C6:
|
|
add r0, r5, #0x0
|
|
bl MapObject_IsInUse
|
|
cmp r0, #0x0
|
|
beq _020587D6
|
|
add r0, r5, #0x0
|
|
bl sub_02058914
|
|
_020587D6:
|
|
add r5, r5, r6
|
|
sub r4, r4, #0x1
|
|
bne _020587C6
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_020587E0
|
|
sub_020587E0: ; 0x020587E0
|
|
push {r3, lr}
|
|
mov r1, #0x1
|
|
bl sub_02058390
|
|
cmp r0, #0x0
|
|
beq _020587F0
|
|
mov r0, #0x1
|
|
pop {r3, pc}
|
|
_020587F0:
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start sub_020587F4
|
|
sub_020587F4: ; 0x020587F4
|
|
push {r4, lr}
|
|
add r4, r1, #0x0
|
|
bl MapObject_GetManager
|
|
add r1, r4, #0x0
|
|
bl sub_02058390
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_02058804
|
|
sub_02058804: ; 0x02058804
|
|
push {r3, lr}
|
|
cmp r1, #0x0
|
|
bne _02058812
|
|
mov r1, #0x8
|
|
bl sub_0205837C
|
|
pop {r3, pc}
|
|
_02058812:
|
|
mov r1, #0x8
|
|
bl sub_02058384
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0205881C
|
|
sub_0205881C: ; 0x0205881C
|
|
push {r3, lr}
|
|
mov r1, #0x8
|
|
bl sub_02058390
|
|
cmp r0, #0x0
|
|
bne _0205882C
|
|
mov r0, #0x1
|
|
pop {r3, pc}
|
|
_0205882C:
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start MapObject_IsInUse
|
|
MapObject_IsInUse: ; 0x02058830
|
|
ldr r3, _02058838 ; =MapObject_TestFlagsBits
|
|
mov r1, #0x1
|
|
bx r3
|
|
nop
|
|
_02058838: .word MapObject_TestFlagsBits
|
|
|
|
thumb_func_start sub_0205883C
|
|
sub_0205883C: ; 0x0205883C
|
|
ldr r3, _02058844 ; =MapObject_SetFlagsBits
|
|
mov r1, #0x2
|
|
bx r3
|
|
nop
|
|
_02058844: .word MapObject_SetFlagsBits
|
|
|
|
thumb_func_start sub_02058848
|
|
sub_02058848: ; 0x02058848
|
|
ldr r3, _02058850 ; =MapObject_ClearFlagsBits
|
|
mov r1, #0x2
|
|
bx r3
|
|
nop
|
|
_02058850: .word MapObject_ClearFlagsBits
|
|
|
|
thumb_func_start sub_02058854
|
|
sub_02058854: ; 0x02058854
|
|
ldr r3, _0205885C ; =MapObject_TestFlagsBits
|
|
mov r1, #0x2
|
|
bx r3
|
|
nop
|
|
_0205885C: .word MapObject_TestFlagsBits
|
|
|
|
thumb_func_start sub_02058860
|
|
sub_02058860: ; 0x02058860
|
|
ldr r3, _02058868 ; =MapObject_SetFlagsBits
|
|
mov r1, #0x4
|
|
bx r3
|
|
nop
|
|
_02058868: .word MapObject_SetFlagsBits
|
|
|
|
thumb_func_start sub_0205886C
|
|
sub_0205886C: ; 0x0205886C
|
|
ldr r3, _02058874 ; =MapObject_ClearFlagsBits
|
|
mov r1, #0x8
|
|
bx r3
|
|
nop
|
|
_02058874: .word MapObject_ClearFlagsBits
|
|
|
|
thumb_func_start sub_02058878
|
|
sub_02058878: ; 0x02058878
|
|
ldr r3, _02058880 ; =MapObject_SetFlagsBits
|
|
mov r1, #0x1
|
|
lsl r1, r1, #0xe
|
|
bx r3
|
|
.balign 4
|
|
_02058880: .word MapObject_SetFlagsBits
|
|
|
|
thumb_func_start MapObject_CheckFlag14
|
|
MapObject_CheckFlag14: ; 0x02058884
|
|
ldr r3, _0205888C ; =MapObject_TestFlagsBits
|
|
mov r1, #0x1
|
|
lsl r1, r1, #0xe
|
|
bx r3
|
|
.balign 4
|
|
_0205888C: .word MapObject_TestFlagsBits
|
|
|
|
thumb_func_start sub_02058890
|
|
sub_02058890: ; 0x02058890
|
|
ldr r3, _02058898 ; =MapObject_TestFlagsBits
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0x8
|
|
bx r3
|
|
.balign 4
|
|
_02058898: .word MapObject_TestFlagsBits
|
|
|
|
thumb_func_start MapObject_SetVisible
|
|
MapObject_SetVisible: ; 0x0205889C
|
|
push {r3, lr}
|
|
cmp r1, #0x1
|
|
bne _020588AC
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0x8
|
|
bl MapObject_SetFlagsBits
|
|
pop {r3, pc}
|
|
_020588AC:
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0x8
|
|
bl MapObject_ClearFlagsBits
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_020588B8
|
|
sub_020588B8: ; 0x020588B8
|
|
push {r3, lr}
|
|
cmp r1, #0x1
|
|
bne _020588C8
|
|
mov r1, #0x1
|
|
lsl r1, r1, #0x12
|
|
bl MapObject_ClearFlagsBits
|
|
pop {r3, pc}
|
|
_020588C8:
|
|
mov r1, #0x1
|
|
lsl r1, r1, #0x12
|
|
bl MapObject_SetFlagsBits
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_020588D4
|
|
sub_020588D4: ; 0x020588D4
|
|
push {r3, lr}
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0x12
|
|
bl MapObject_TestFlagsBits
|
|
cmp r0, #0x1
|
|
beq _020588E6
|
|
mov r0, #0x1
|
|
pop {r3, pc}
|
|
_020588E6:
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_020588EC
|
|
sub_020588EC: ; 0x020588EC
|
|
push {r3, lr}
|
|
cmp r1, #0x1
|
|
bne _020588FC
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0x12
|
|
bl MapObject_SetFlagsBits
|
|
pop {r3, pc}
|
|
_020588FC:
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0x12
|
|
bl MapObject_ClearFlagsBits
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058908
|
|
sub_02058908: ; 0x02058908
|
|
ldr r3, _02058910 ; =MapObject_SetFlagsBits
|
|
mov r1, #0x40
|
|
bx r3
|
|
nop
|
|
_02058910: .word MapObject_SetFlagsBits
|
|
|
|
thumb_func_start sub_02058914
|
|
sub_02058914: ; 0x02058914
|
|
ldr r3, _0205891C ; =MapObject_ClearFlagsBits
|
|
mov r1, #0x40
|
|
bx r3
|
|
nop
|
|
_0205891C: .word MapObject_ClearFlagsBits
|
|
|
|
thumb_func_start sub_02058920
|
|
sub_02058920: ; 0x02058920
|
|
push {r3, lr}
|
|
mov r1, #0x40
|
|
bl MapObject_TestFlagsBits
|
|
cmp r0, #0x1
|
|
bne _02058930
|
|
mov r0, #0x1
|
|
pop {r3, pc}
|
|
_02058930:
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start sub_02058934
|
|
sub_02058934: ; 0x02058934
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl MapObject_GetManager
|
|
bl sub_020587E0
|
|
cmp r0, #0x0
|
|
bne _02058948
|
|
mov r0, #0x0
|
|
pop {r4, pc}
|
|
_02058948:
|
|
mov r1, #0x1
|
|
add r0, r4, #0x0
|
|
lsl r1, r1, #0xe
|
|
bl MapObject_GetFlagsBits
|
|
cmp r0, #0x0
|
|
beq _0205895A
|
|
mov r0, #0x1
|
|
pop {r4, pc}
|
|
_0205895A:
|
|
mov r0, #0x0
|
|
pop {r4, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058960
|
|
sub_02058960: ; 0x02058960
|
|
push {r3, lr}
|
|
cmp r1, #0x1
|
|
bne _02058970
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0x16
|
|
bl MapObject_SetFlagsBits
|
|
pop {r3, pc}
|
|
_02058970:
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0x16
|
|
bl MapObject_ClearFlagsBits
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0205897C
|
|
sub_0205897C: ; 0x0205897C
|
|
push {r3, lr}
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0x16
|
|
bl MapObject_GetFlagsBits
|
|
cmp r0, #0x0
|
|
beq _0205898E
|
|
mov r0, #0x1
|
|
pop {r3, pc}
|
|
_0205898E:
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058994
|
|
sub_02058994: ; 0x02058994
|
|
push {r3, lr}
|
|
cmp r1, #0x1
|
|
bne _020589A4
|
|
mov r1, #0x1
|
|
lsl r1, r1, #0xa
|
|
bl MapObject_SetFlagsBits
|
|
pop {r3, pc}
|
|
_020589A4:
|
|
mov r1, #0x1
|
|
lsl r1, r1, #0xa
|
|
bl MapObject_ClearFlagsBits
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start MapObject_SetFlag25
|
|
MapObject_SetFlag25: ; 0x020589B0
|
|
push {r3, lr}
|
|
cmp r1, #0x1
|
|
bne _020589C0
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0x18
|
|
bl MapObject_SetFlagsBits
|
|
pop {r3, pc}
|
|
_020589C0:
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0x18
|
|
bl MapObject_ClearFlagsBits
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start MapObject_CheckFlag25
|
|
MapObject_CheckFlag25: ; 0x020589CC
|
|
push {r3, lr}
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0x18
|
|
bl MapObject_GetFlagsBits
|
|
cmp r0, #0x0
|
|
beq _020589DE
|
|
mov r0, #0x1
|
|
pop {r3, pc}
|
|
_020589DE:
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_020589E4
|
|
sub_020589E4: ; 0x020589E4
|
|
push {r3, lr}
|
|
cmp r1, #0x1
|
|
bne _020589F4
|
|
mov r1, #0x1
|
|
lsl r1, r1, #0x1a
|
|
bl MapObject_SetFlagsBits
|
|
pop {r3, pc}
|
|
_020589F4:
|
|
mov r1, #0x1
|
|
lsl r1, r1, #0x1a
|
|
bl MapObject_ClearFlagsBits
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058A00
|
|
sub_02058A00: ; 0x02058A00
|
|
push {r3, lr}
|
|
mov r1, #0x1
|
|
lsl r1, r1, #0x1a
|
|
bl MapObject_GetFlagsBits
|
|
cmp r0, #0x0
|
|
beq _02058A12
|
|
mov r0, #0x1
|
|
pop {r3, pc}
|
|
_02058A12:
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058A18
|
|
sub_02058A18: ; 0x02058A18
|
|
push {r3, lr}
|
|
cmp r1, #0x1
|
|
bne _02058A28
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0x1a
|
|
bl MapObject_SetFlagsBits
|
|
pop {r3, pc}
|
|
_02058A28:
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0x1a
|
|
bl MapObject_ClearFlagsBits
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058A34
|
|
sub_02058A34: ; 0x02058A34
|
|
push {r3, lr}
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0x1a
|
|
bl MapObject_GetFlagsBits
|
|
cmp r0, #0x0
|
|
beq _02058A46
|
|
mov r0, #0x1
|
|
pop {r3, pc}
|
|
_02058A46:
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058A4C
|
|
sub_02058A4C: ; 0x02058A4C
|
|
push {r3, lr}
|
|
cmp r1, #0x1
|
|
bne _02058A5C
|
|
mov r1, #0x1
|
|
lsl r1, r1, #0x1c
|
|
bl MapObject_SetFlagsBits
|
|
pop {r3, pc}
|
|
_02058A5C:
|
|
mov r1, #0x1
|
|
lsl r1, r1, #0x1c
|
|
bl MapObject_ClearFlagsBits
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058A68
|
|
sub_02058A68: ; 0x02058A68
|
|
push {r3, lr}
|
|
mov r1, #0x1
|
|
lsl r1, r1, #0x1c
|
|
bl MapObject_GetFlagsBits
|
|
cmp r0, #0x0
|
|
beq _02058A7A
|
|
mov r0, #0x1
|
|
pop {r3, pc}
|
|
_02058A7A:
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058A80
|
|
sub_02058A80: ; 0x02058A80
|
|
push {r3, lr}
|
|
cmp r1, #0x1
|
|
bne _02058A90
|
|
mov r1, #0x1
|
|
lsl r1, r1, #0x18
|
|
bl MapObject_SetFlagsBits
|
|
pop {r3, pc}
|
|
_02058A90:
|
|
mov r1, #0x1
|
|
lsl r1, r1, #0x18
|
|
bl MapObject_ClearFlagsBits
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058A9C
|
|
sub_02058A9C: ; 0x02058A9C
|
|
push {r3, lr}
|
|
mov r1, #0x1
|
|
lsl r1, r1, #0x18
|
|
bl MapObject_GetFlagsBits
|
|
cmp r0, #0x0
|
|
beq _02058AAE
|
|
mov r0, #0x1
|
|
pop {r3, pc}
|
|
_02058AAE:
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058AB4
|
|
sub_02058AB4: ; 0x02058AB4
|
|
push {r3, lr}
|
|
mov r1, #0x10
|
|
bl MapObject_GetFlagsBits
|
|
cmp r0, #0x0
|
|
beq _02058AC4
|
|
mov r0, #0x1
|
|
pop {r3, pc}
|
|
_02058AC4:
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start sub_02058AC8
|
|
sub_02058AC8: ; 0x02058AC8
|
|
push {r3, lr}
|
|
cmp r1, #0x1
|
|
bne _02058AD8
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0x1c
|
|
bl MapObject_SetFlagsBits
|
|
pop {r3, pc}
|
|
_02058AD8:
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0x1c
|
|
bl MapObject_ClearFlagsBits
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start MapObject_CheckFlag29
|
|
MapObject_CheckFlag29: ; 0x02058AE4
|
|
push {r3, lr}
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0x1c
|
|
bl MapObject_GetFlagsBits
|
|
cmp r0, #0x0
|
|
beq _02058AF6
|
|
mov r0, #0x1
|
|
pop {r3, pc}
|
|
_02058AF6:
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start MapObject_GetInitialX
|
|
MapObject_GetInitialX: ; 0x02058AFC
|
|
ldr r0, [r0, #0x4c]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetInitialX
|
|
MapObject_SetInitialX: ; 0x02058B00
|
|
str r1, [r0, #0x4c]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetInitialHeight
|
|
MapObject_GetInitialHeight: ; 0x02058B04
|
|
ldr r0, [r0, #0x50]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetInitialHeight
|
|
MapObject_SetInitialHeight: ; 0x02058B08
|
|
str r1, [r0, #0x50]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetInitialY
|
|
MapObject_GetInitialY: ; 0x02058B0C
|
|
ldr r0, [r0, #0x54]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetInitialY
|
|
MapObject_SetInitialY: ; 0x02058B10
|
|
str r1, [r0, #0x54]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058B14
|
|
sub_02058B14: ; 0x02058B14
|
|
ldr r0, [r0, #0x58]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetPreviousX
|
|
MapObject_SetPreviousX: ; 0x02058B18
|
|
str r1, [r0, #0x58]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058B1C
|
|
sub_02058B1C: ; 0x02058B1C
|
|
ldr r0, [r0, #0x5c]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetPreviousHeight
|
|
MapObject_SetPreviousHeight: ; 0x02058B20
|
|
str r1, [r0, #0x5c]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058B24
|
|
sub_02058B24: ; 0x02058B24
|
|
ldr r0, [r0, #0x60]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetPreviousY
|
|
MapObject_SetPreviousY: ; 0x02058B28
|
|
str r1, [r0, #0x60]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetCurrentX
|
|
MapObject_GetCurrentX: ; 0x02058B2C
|
|
ldr r0, [r0, #0x64]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetCurrentX
|
|
MapObject_SetCurrentX: ; 0x02058B30
|
|
str r1, [r0, #0x64]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058B34
|
|
sub_02058B34: ; 0x02058B34
|
|
ldr r2, [r0, #0x64]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x64]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetCurrentHeight
|
|
MapObject_GetCurrentHeight: ; 0x02058B3C
|
|
ldr r0, [r0, #0x68]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetCurrentHeight
|
|
MapObject_SetCurrentHeight: ; 0x02058B40
|
|
str r1, [r0, #0x68]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058B44
|
|
sub_02058B44: ; 0x02058B44
|
|
ldr r2, [r0, #0x68]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x68]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetCurrentY
|
|
MapObject_GetCurrentY: ; 0x02058B4C
|
|
ldr r0, [r0, #0x6c]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetCurrentY
|
|
MapObject_SetCurrentY: ; 0x02058B50
|
|
str r1, [r0, #0x6c]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058B54
|
|
sub_02058B54: ; 0x02058B54
|
|
ldr r2, [r0, #0x6c]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x6c]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetPositionVec
|
|
MapObject_GetPositionVec: ; 0x02058B5C
|
|
add r2, r0, #0x0
|
|
add r2, #0x70
|
|
add r3, r1, #0x0
|
|
ldmia r2!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldr r0, [r2, #0x0]
|
|
str r0, [r3, #0x0]
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_SetPositionVec
|
|
MapObject_SetPositionVec: ; 0x02058B6C
|
|
add r3, r1, #0x0
|
|
add r2, r0, #0x0
|
|
ldmia r3!, {r0-r1}
|
|
add r2, #0x70
|
|
stmia r2!, {r0-r1}
|
|
ldr r0, [r3, #0x0]
|
|
str r0, [r2, #0x0]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058B7C
|
|
sub_02058B7C: ; 0x02058B7C
|
|
add r0, #0x70
|
|
bx lr
|
|
|
|
thumb_func_start MapObject_GetPosVecYCoord
|
|
MapObject_GetPosVecYCoord: ; 0x02058B80
|
|
ldr r0, [r0, #0x74]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058B84
|
|
sub_02058B84: ; 0x02058B84
|
|
add r2, r0, #0x0
|
|
add r2, #0x7c
|
|
add r3, r1, #0x0
|
|
ldmia r2!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldr r0, [r2, #0x0]
|
|
str r0, [r3, #0x0]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058B94
|
|
sub_02058B94: ; 0x02058B94
|
|
add r3, r1, #0x0
|
|
add r2, r0, #0x0
|
|
ldmia r3!, {r0-r1}
|
|
add r2, #0x7c
|
|
stmia r2!, {r0-r1}
|
|
ldr r0, [r3, #0x0]
|
|
str r0, [r2, #0x0]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058BA4
|
|
sub_02058BA4: ; 0x02058BA4
|
|
add r2, r0, #0x0
|
|
add r2, #0x88
|
|
add r3, r1, #0x0
|
|
ldmia r2!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldr r0, [r2, #0x0]
|
|
str r0, [r3, #0x0]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058BB4
|
|
sub_02058BB4: ; 0x02058BB4
|
|
add r3, r1, #0x0
|
|
add r2, r0, #0x0
|
|
ldmia r3!, {r0-r1}
|
|
add r2, #0x88
|
|
stmia r2!, {r0-r1}
|
|
ldr r0, [r3, #0x0]
|
|
str r0, [r2, #0x0]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058BC4
|
|
sub_02058BC4: ; 0x02058BC4
|
|
add r2, r0, #0x0
|
|
add r2, #0x94
|
|
add r3, r1, #0x0
|
|
ldmia r2!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldr r0, [r2, #0x0]
|
|
str r0, [r3, #0x0]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058BD4
|
|
sub_02058BD4: ; 0x02058BD4
|
|
add r3, r1, #0x0
|
|
add r2, r0, #0x0
|
|
ldmia r3!, {r0-r1}
|
|
add r2, #0x94
|
|
stmia r2!, {r0-r1}
|
|
ldr r0, [r3, #0x0]
|
|
str r0, [r2, #0x0]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058BE4
|
|
sub_02058BE4: ; 0x02058BE4
|
|
push {r3, lr}
|
|
bl MapObject_GetPosVecYCoord
|
|
asr r1, r0, #0x3
|
|
asr r0, r1, #0xb
|
|
lsr r0, r0, #0x14
|
|
add r0, r1, r0
|
|
asr r0, r0, #0xc
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start ObjectEvent_SetId
|
|
ObjectEvent_SetId: ; 0x02058BF8
|
|
strh r1, [r0, #0x0]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_GetID
|
|
ObjectEvent_GetID: ; 0x02058BFC
|
|
ldrh r0, [r0, #0x0]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_SetSprite
|
|
ObjectEvent_SetSprite: ; 0x02058C00
|
|
strh r1, [r0, #0x2]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_GetSpriteID
|
|
ObjectEvent_GetSpriteID: ; 0x02058C04
|
|
ldrh r0, [r0, #0x2]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_SetMovement
|
|
ObjectEvent_SetMovement: ; 0x02058C08
|
|
strh r1, [r0, #0x4]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_GetMovement
|
|
ObjectEvent_GetMovement: ; 0x02058C0C
|
|
ldrh r0, [r0, #0x4]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_SetType
|
|
ObjectEvent_SetType: ; 0x02058C10
|
|
strh r1, [r0, #0x6]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_GetType
|
|
ObjectEvent_GetType: ; 0x02058C14
|
|
ldrh r0, [r0, #0x6]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_SetFlagId
|
|
ObjectEvent_SetFlagId: ; 0x02058C18
|
|
strh r1, [r0, #0x8]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_GetFlagID
|
|
ObjectEvent_GetFlagID: ; 0x02058C1C
|
|
ldrh r0, [r0, #0x8]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_SetScript
|
|
ObjectEvent_SetScript: ; 0x02058C20
|
|
strh r1, [r0, #0xa]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_GetScript
|
|
ObjectEvent_GetScript: ; 0x02058C24
|
|
ldrh r0, [r0, #0xa]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_SetFacing
|
|
ObjectEvent_SetFacing: ; 0x02058C28
|
|
strh r1, [r0, #0xc]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_GetInitialFacingDirection
|
|
ObjectEvent_GetInitialFacingDirection: ; 0x02058C2C
|
|
mov r1, #0xc
|
|
ldrsh r0, [r0, r1]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start ObjectEvent_SetParam
|
|
ObjectEvent_SetParam: ; 0x02058C34
|
|
push {r3, lr}
|
|
cmp r2, #0x0
|
|
beq _02058C44
|
|
cmp r2, #0x1
|
|
beq _02058C48
|
|
cmp r2, #0x2
|
|
beq _02058C4C
|
|
b _02058C50
|
|
_02058C44:
|
|
strh r1, [r0, #0xe]
|
|
pop {r3, pc}
|
|
_02058C48:
|
|
strh r1, [r0, #0x10]
|
|
pop {r3, pc}
|
|
_02058C4C:
|
|
strh r1, [r0, #0x12]
|
|
pop {r3, pc}
|
|
_02058C50:
|
|
bl GF_AssertFail
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start ObjectEvent_GetParam
|
|
ObjectEvent_GetParam: ; 0x02058C58
|
|
push {r3, lr}
|
|
cmp r1, #0x0
|
|
beq _02058C68
|
|
cmp r1, #0x1
|
|
beq _02058C6C
|
|
cmp r1, #0x2
|
|
beq _02058C70
|
|
b _02058C74
|
|
_02058C68:
|
|
ldrh r0, [r0, #0xe]
|
|
pop {r3, pc}
|
|
_02058C6C:
|
|
ldrh r0, [r0, #0x10]
|
|
pop {r3, pc}
|
|
_02058C70:
|
|
ldrh r0, [r0, #0x12]
|
|
pop {r3, pc}
|
|
_02058C74:
|
|
bl GF_AssertFail
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start ObjectEvent_SetXRange
|
|
ObjectEvent_SetXRange: ; 0x02058C7C
|
|
strh r1, [r0, #0x14]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_GetXRange
|
|
ObjectEvent_GetXRange: ; 0x02058C80
|
|
mov r1, #0x14
|
|
ldrsh r0, [r0, r1]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start ObjectEvent_SetYRange
|
|
ObjectEvent_SetYRange: ; 0x02058C88
|
|
strh r1, [r0, #0x16]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_GetYRange
|
|
ObjectEvent_GetYRange: ; 0x02058C8C
|
|
mov r1, #0x16
|
|
ldrsh r0, [r0, r1]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start ObjectEvent_SetXCoord
|
|
ObjectEvent_SetXCoord: ; 0x02058C94
|
|
strh r1, [r0, #0x18]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_GetXCoord
|
|
ObjectEvent_GetXCoord: ; 0x02058C98
|
|
ldrh r0, [r0, #0x18]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_SetHeight
|
|
ObjectEvent_SetHeight: ; 0x02058C9C
|
|
str r1, [r0, #0x1c]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_GetHeight
|
|
ObjectEvent_GetHeight: ; 0x02058CA0
|
|
ldr r0, [r0, #0x1c]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_SetYCoord
|
|
ObjectEvent_SetYCoord: ; 0x02058CA4
|
|
strh r1, [r0, #0x1a]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_GetYCoord
|
|
ObjectEvent_GetYCoord: ; 0x02058CA8
|
|
ldrh r0, [r0, #0x1a]
|
|
bx lr
|
|
|
|
thumb_func_start ObjectEvent_GetById
|
|
ObjectEvent_GetById: ; 0x02058CAC
|
|
push {r3-r7, lr}
|
|
add r6, r0, #0x0
|
|
add r7, r1, #0x0
|
|
str r2, [sp, #0x0]
|
|
mov r4, #0x0
|
|
add r5, r2, #0x0
|
|
_02058CB8:
|
|
add r0, r5, #0x0
|
|
bl ObjectEvent_ScriptIDIsUnset
|
|
cmp r0, #0x0
|
|
bne _02058CD4
|
|
add r0, r5, #0x0
|
|
bl ObjectEvent_GetID
|
|
cmp r6, r0
|
|
bne _02058CD4
|
|
ldr r0, [sp, #0x0]
|
|
lsl r1, r4, #0x5
|
|
add r0, r0, r1
|
|
pop {r3-r7, pc}
|
|
_02058CD4:
|
|
add r4, r4, #0x1
|
|
add r5, #0x20
|
|
cmp r4, r7
|
|
blt _02058CB8
|
|
mov r0, #0x0
|
|
pop {r3-r7, pc}
|
|
|
|
thumb_func_start ObjectEvent_ScriptIDIsUnset
|
|
ObjectEvent_ScriptIDIsUnset: ; 0x02058CE0
|
|
push {r3, lr}
|
|
bl ObjectEvent_GetScript
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
ldr r0, _02058CF8 ; =0x0000FFFF
|
|
cmp r1, r0
|
|
bne _02058CF4
|
|
mov r0, #0x1
|
|
pop {r3, pc}
|
|
_02058CF4:
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
.balign 4
|
|
_02058CF8: .word 0x0000FFFF
|
|
|
|
thumb_func_start ObjectEvent_GetFlagID_AssertScriptIDIsUnset
|
|
ObjectEvent_GetFlagID_AssertScriptIDIsUnset: ; 0x02058CFC
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl ObjectEvent_ScriptIDIsUnset
|
|
cmp r0, #0x1
|
|
beq _02058D0C
|
|
bl GF_AssertFail
|
|
_02058D0C:
|
|
add r0, r4, #0x0
|
|
bl ObjectEvent_GetFlagID
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_02058D14
|
|
sub_02058D14: ; 0x02058D14
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
cmp r4, #0x37
|
|
blo _02058D20
|
|
bl GF_AssertFail
|
|
_02058D20:
|
|
ldr r0, _02058D28 ; =UNK_020F6364
|
|
lsl r1, r4, #0x2
|
|
ldr r0, [r0, r1]
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_02058D28: .word UNK_020F6364
|
|
|
|
thumb_func_start sub_02058D2C
|
|
sub_02058D2C: ; 0x02058D2C
|
|
ldr r0, [r0, #0x4]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058D30
|
|
sub_02058D30: ; 0x02058D30
|
|
ldr r0, [r0, #0x8]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058D34
|
|
sub_02058D34: ; 0x02058D34
|
|
ldr r0, [r0, #0xc]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058D38
|
|
sub_02058D38: ; 0x02058D38
|
|
ldr r0, [r0, #0x0]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058D3C
|
|
sub_02058D3C: ; 0x02058D3C
|
|
ldr r0, [r0, #0x4]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058D40
|
|
sub_02058D40: ; 0x02058D40
|
|
ldr r0, [r0, #0x8]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058D44
|
|
sub_02058D44: ; 0x02058D44
|
|
ldr r0, [r0, #0xc]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058D48
|
|
sub_02058D48: ; 0x02058D48
|
|
ldr r0, [r0, #0x10]
|
|
bx lr
|
|
|
|
thumb_func_start sub_02058D4C
|
|
sub_02058D4C: ; 0x02058D4C
|
|
push {r3, lr}
|
|
ldr r3, _02058D6C ; =ov05_021F9494
|
|
ldr r1, _02058D70 ; =0x0000FFFF
|
|
_02058D52:
|
|
ldr r2, [r3, #0x0]
|
|
cmp r2, r0
|
|
bne _02058D5C
|
|
ldr r0, [r3, #0x4]
|
|
pop {r3, pc}
|
|
_02058D5C:
|
|
add r3, #0x8
|
|
ldr r2, [r3, #0x0]
|
|
cmp r2, r1
|
|
bne _02058D52
|
|
bl GF_AssertFail
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
.balign 4
|
|
_02058D6C: .word ov05_021F9494
|
|
_02058D70: .word 0x0000FFFF
|
|
|
|
thumb_func_start sub_02058D74
|
|
sub_02058D74: ; 0x02058D74
|
|
push {r3-r7, lr}
|
|
add r5, r0, #0x0
|
|
add r6, r1, #0x0
|
|
add r7, r2, #0x0
|
|
bl MapObjectManager_GetObjectCount
|
|
add r4, r0, #0x0
|
|
add r0, r5, #0x0
|
|
bl MapObjectManager_GetObjects
|
|
add r5, r0, #0x0
|
|
_02058D8A:
|
|
add r0, r5, #0x0
|
|
mov r1, #0x1
|
|
bl MapObject_GetFlagsBits
|
|
cmp r0, #0x0
|
|
beq _02058DAE
|
|
add r0, r5, #0x0
|
|
bl MapObject_GetCurrentX
|
|
cmp r6, r0
|
|
bne _02058DAE
|
|
add r0, r5, #0x0
|
|
bl MapObject_GetCurrentY
|
|
cmp r7, r0
|
|
bne _02058DAE
|
|
add r0, r5, #0x0
|
|
pop {r3-r7, pc}
|
|
_02058DAE:
|
|
mov r0, #0x4a
|
|
lsl r0, r0, #0x2
|
|
add r5, r5, r0
|
|
sub r4, r4, #0x1
|
|
bne _02058D8A
|
|
mov r0, #0x0
|
|
pop {r3-r7, pc}
|
|
|
|
thumb_func_start sub_02058DBC
|
|
sub_02058DBC: ; 0x02058DBC
|
|
push {r4-r6, lr}
|
|
add r4, r1, #0x0
|
|
ldr r1, [r4, #0x0]
|
|
add r6, r2, #0x0
|
|
asr r2, r1, #0x4
|
|
asr r1, r2, #0xb
|
|
lsr r1, r1, #0x14
|
|
add r1, r2, r1
|
|
asr r1, r1, #0xc
|
|
add r5, r0, #0x0
|
|
bl MapObject_SetCurrentX
|
|
ldr r1, [r4, #0x4]
|
|
add r0, r5, #0x0
|
|
asr r2, r1, #0x3
|
|
asr r1, r2, #0xb
|
|
lsr r1, r1, #0x14
|
|
add r1, r2, r1
|
|
asr r1, r1, #0xc
|
|
bl MapObject_SetCurrentHeight
|
|
ldr r1, [r4, #0x8]
|
|
add r0, r5, #0x0
|
|
asr r2, r1, #0x4
|
|
asr r1, r2, #0xb
|
|
lsr r1, r1, #0x14
|
|
add r1, r2, r1
|
|
asr r1, r1, #0xc
|
|
bl MapObject_SetCurrentY
|
|
add r0, r5, #0x0
|
|
add r1, r4, #0x0
|
|
bl MapObject_SetPositionVec
|
|
add r0, r5, #0x0
|
|
bl sub_02059C60
|
|
add r0, r5, #0x0
|
|
add r1, r6, #0x0
|
|
bl MapObject_SetFacingDirectionDirect
|
|
add r0, r5, #0x0
|
|
bl MapObject_ClearHeldMovement
|
|
add r0, r5, #0x0
|
|
mov r1, #0x4
|
|
bl MapObject_SetFlagsBits
|
|
add r0, r5, #0x0
|
|
mov r1, #0xa
|
|
bl MapObject_ClearFlagsBits
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058E28
|
|
sub_02058E28: ; 0x02058E28
|
|
push {r3-r6, lr}
|
|
sub sp, #0xc
|
|
add r4, r2, #0x0
|
|
mov r2, #0x2
|
|
add r6, r3, #0x0
|
|
lsl r3, r1, #0x10
|
|
lsl r2, r2, #0xe
|
|
add r2, r3, r2
|
|
add r5, r0, #0x0
|
|
str r2, [sp, #0x0]
|
|
bl MapObject_SetCurrentX
|
|
lsl r0, r4, #0xf
|
|
str r0, [sp, #0x4]
|
|
add r0, r5, #0x0
|
|
add r1, r4, #0x0
|
|
bl MapObject_SetCurrentHeight
|
|
mov r0, #0x2
|
|
lsl r1, r6, #0x10
|
|
lsl r0, r0, #0xe
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x8]
|
|
add r0, r5, #0x0
|
|
add r1, r6, #0x0
|
|
bl MapObject_SetCurrentY
|
|
add r0, r5, #0x0
|
|
add r1, sp, #0x0
|
|
bl MapObject_SetPositionVec
|
|
add r0, r5, #0x0
|
|
bl sub_02059C60
|
|
ldr r1, [sp, #0x20]
|
|
add r0, r5, #0x0
|
|
bl MapObject_SetFacingDirectionDirect
|
|
add r0, r5, #0x0
|
|
mov r1, #0x4
|
|
bl MapObject_SetFlagsBits
|
|
add r0, r5, #0x0
|
|
mov r1, #0xa
|
|
bl MapObject_ClearFlagsBits
|
|
add r0, r5, #0x0
|
|
bl MapObject_ClearHeldMovement
|
|
add sp, #0xc
|
|
pop {r3-r6, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058E90
|
|
sub_02058E90: ; 0x02058E90
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
add r4, r1, #0x0
|
|
bl sub_02058660
|
|
add r0, r5, #0x0
|
|
add r1, r4, #0x0
|
|
bl MapObject_SetMovement
|
|
add r0, r5, #0x0
|
|
bl sub_02057EE0
|
|
add r0, r5, #0x0
|
|
bl sub_02058EE8
|
|
pop {r3-r5, pc}
|
|
|
|
thumb_func_start sub_02058EB0
|
|
sub_02058EB0: ; 0x02058EB0
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl MapObject_SetID
|
|
add r0, r4, #0x0
|
|
bl sub_02058860
|
|
add r0, r4, #0x0
|
|
bl sub_0205815C
|
|
pop {r4, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058EC8
|
|
sub_02058EC8: ; 0x02058EC8
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058ECC
|
|
sub_02058ECC: ; 0x02058ECC
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058ED0
|
|
sub_02058ED0: ; 0x02058ED0
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058ED4
|
|
sub_02058ED4: ; 0x02058ED4
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058ED8
|
|
sub_02058ED8: ; 0x02058ED8
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058EDC
|
|
sub_02058EDC: ; 0x02058EDC
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058EE0
|
|
sub_02058EE0: ; 0x02058EE0
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02058EE4
|
|
sub_02058EE4: ; 0x02058EE4
|
|
bx lr
|
|
.balign 4
|