mirror of
https://github.com/pret/pokediamond.git
synced 2026-09-30 04:17:11 -05:00
finish decomp of map_object
This commit is contained in:
@@ -216,7 +216,6 @@ Static arm9
|
||||
Object unk_02055068.o
|
||||
Object unk_020557F4.o
|
||||
Object map_object.o
|
||||
Object map_object_s.o
|
||||
Object unk_02058EE8.o
|
||||
Object unk_02059F04.o
|
||||
Object unk_0205AD98.o
|
||||
|
||||
@@ -1,630 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.extern UNK_020F6364
|
||||
.extern sub_02057EE0
|
||||
.extern sub_0205815C
|
||||
.extern MapObjectManager_GetObjectCount
|
||||
.extern MapObjectManager_GetObjects
|
||||
.extern MapObject_SetMovement
|
||||
.extern sub_02058660
|
||||
|
||||
.text
|
||||
|
||||
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_GetScriptID
|
||||
ObjectEvent_GetScriptID: ; 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_GetScriptID
|
||||
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_GetFlagsBitsMask
|
||||
cmp r0, #0x0
|
||||
beq _02058DAE
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
cmp r6, r0
|
||||
bne _02058DAE
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
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_SetCurrentY
|
||||
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_SetCurrentZ
|
||||
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_SetCurrentY
|
||||
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_SetCurrentZ
|
||||
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 MapObject_SetFlag2
|
||||
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
|
||||
@@ -60,10 +60,10 @@ sub_02037000: ; 0x02037000
|
||||
push {r3-r5, lr}
|
||||
add r5, r1, #0x0
|
||||
bl PlayerAvatar_GetMapObject
|
||||
bl sub_02058BE4
|
||||
bl MapObject_GetPositionVectorYCoordUInt
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl sub_02058BE4
|
||||
bl MapObject_GetPositionVectorYCoordUInt
|
||||
cmp r4, r0
|
||||
bne _0203701C
|
||||
mov r0, #0x1
|
||||
|
||||
@@ -56,7 +56,7 @@ _0203707E:
|
||||
ldr r0, [r5, #0x34]
|
||||
ldr r1, [sp, #0x4]
|
||||
ldr r2, [sp, #0x0]
|
||||
bl sub_02058D74
|
||||
bl MapObjectManager_GetFirstObjectWithXAndZ
|
||||
str r0, [r6, #0x0]
|
||||
add sp, #0x8
|
||||
pop {r4-r6, pc}
|
||||
|
||||
@@ -222,7 +222,7 @@ _0204B4B6:
|
||||
cmp r0, #0x1
|
||||
bne _0204B4E8
|
||||
ldr r0, [sp, #0x0]
|
||||
bl sub_02058B7C
|
||||
bl MapObject_GetPositionVector
|
||||
add r1, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl sub_0204B450
|
||||
@@ -546,7 +546,7 @@ _0204B758:
|
||||
ldr r0, [r7, #0x34]
|
||||
add r1, r6, #0x0
|
||||
add r2, r4, #0x0
|
||||
bl sub_02058D74
|
||||
bl MapObjectManager_GetFirstObjectWithXAndZ
|
||||
cmp r0, #0x0
|
||||
beq _0204B76A
|
||||
mov r0, #0x1
|
||||
@@ -579,7 +579,7 @@ _0204B794:
|
||||
ldr r0, [r5, #0x34]
|
||||
add r1, r4, #0x0
|
||||
sub r2, r2, #0x1
|
||||
bl sub_02058D74
|
||||
bl MapObjectManager_GetFirstObjectWithXAndZ
|
||||
pop {r4-r6, pc}
|
||||
|
||||
thumb_func_start sub_0204B7A0
|
||||
@@ -609,7 +609,7 @@ _0204B7CC:
|
||||
ldr r0, [r5, #0x34]
|
||||
add r1, r7, #0x0
|
||||
add r2, r4, #0x0
|
||||
bl sub_02058D74
|
||||
bl MapObjectManager_GetFirstObjectWithXAndZ
|
||||
pop {r3-r7, pc}
|
||||
|
||||
thumb_func_start sub_0204B7D8
|
||||
|
||||
@@ -5977,7 +5977,7 @@ _0204F89E:
|
||||
ldr r0, [sp, #0xc]
|
||||
mov r2, #0x0
|
||||
add r3, r7, #0x0
|
||||
bl sub_02058E28
|
||||
bl MapObject_SetPositionFromXYZAndDirection
|
||||
_0204F8F8:
|
||||
add r6, r6, #0x1
|
||||
add r4, r4, #0x4
|
||||
|
||||
@@ -659,7 +659,7 @@ _020533CC:
|
||||
add r0, r4, #0x0
|
||||
add r1, r7, #0x0
|
||||
add r3, r6, #0x0
|
||||
bl sub_02058E28
|
||||
bl MapObject_SetPositionFromXYZAndDirection
|
||||
add r0, r4, #0x0
|
||||
mov r1, #0x1
|
||||
bl MapObject_SetFacingDirectionDirect
|
||||
|
||||
@@ -363,14 +363,14 @@ sub_02055350: ; 0x02055350
|
||||
add r4, r1, #0x0
|
||||
bl PlayerAvatar_GetMapObject
|
||||
add r1, r4, #0x0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_02055360
|
||||
sub_02055360: ; 0x02055360
|
||||
push {r3, lr}
|
||||
bl sub_020553A4
|
||||
bl sub_02058B7C
|
||||
bl MapObject_GetPositionVector
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start sub_0205536C
|
||||
@@ -699,7 +699,7 @@ sub_020554EC: ; 0x020554EC
|
||||
bl PlayerAvatar_GetMapObject
|
||||
add r1, r4, #0x0
|
||||
add r2, r6, #0x0
|
||||
bl sub_02058DBC
|
||||
bl LocalMapObject_SetPositionFromVectorAndDirection
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
bl sub_0205536C
|
||||
@@ -721,7 +721,7 @@ sub_02055514: ; 0x02055514
|
||||
mov r2, #0x0
|
||||
add r3, r7, #0x0
|
||||
str r4, [sp, #0x0]
|
||||
bl sub_02058E28
|
||||
bl MapObject_SetPositionFromXYZAndDirection
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
bl sub_0205536C
|
||||
@@ -738,11 +738,11 @@ sub_02055540: ; 0x02055540
|
||||
bl PlayerAvatar_GetMapObject
|
||||
add r4, r0, #0x0
|
||||
add r1, sp, #0x0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r4, #0x0
|
||||
add r1, sp, #0x0
|
||||
str r5, [sp, #0x4]
|
||||
bl MapObject_SetPositionVec
|
||||
bl MapObject_SetPositionVector
|
||||
add sp, #0xc
|
||||
pop {r4-r5, pc}
|
||||
|
||||
|
||||
@@ -1013,7 +1013,7 @@ sub_02056040: ; 0x02056040
|
||||
add r6, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
add r1, sp, #0xc
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r4, sp, #0xc
|
||||
add r3, sp, #0x0
|
||||
ldmia r4!, {r0-r1}
|
||||
@@ -2531,7 +2531,7 @@ sub_02056C0C: ; 0x02056C0C
|
||||
str r0, [sp, #0x10]
|
||||
add r0, r5, #0x0
|
||||
add r1, sp, #0x1c
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
ldr r1, [sp, #0x14]
|
||||
ldr r6, [sp, #0xc]
|
||||
ldr r3, [sp, #0x10]
|
||||
|
||||
@@ -2427,7 +2427,7 @@ sub_020598F0: ; 0x020598F0
|
||||
add r5, r0, #0x0
|
||||
add r7, r2, #0x0
|
||||
add r4, r3, #0x0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
ldr r0, [sp, #0x28]
|
||||
str r4, [sp, #0x0]
|
||||
str r0, [sp, #0x4]
|
||||
@@ -2922,7 +2922,7 @@ sub_02059CC8: ; 0x02059CC8
|
||||
add r1, sp, #0x0
|
||||
add r6, r0, #0x0
|
||||
add r4, r2, #0x0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
cmp r5, #0x3
|
||||
bhi _02059D0E
|
||||
add r0, r5, r5
|
||||
@@ -2958,7 +2958,7 @@ _02059D08:
|
||||
_02059D0E:
|
||||
add r0, r6, #0x0
|
||||
add r1, sp, #0x0
|
||||
bl MapObject_SetPositionVec
|
||||
bl MapObject_SetPositionVector
|
||||
add sp, #0xc
|
||||
pop {r3-r6, pc}
|
||||
.balign 4
|
||||
@@ -2969,7 +2969,7 @@ sub_02059D1C: ; 0x02059D1C
|
||||
sub sp, #0x18
|
||||
add r1, sp, #0xc
|
||||
add r5, r0, #0x0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r3, sp, #0xc
|
||||
ldmia r3!, {r0-r1}
|
||||
add r2, sp, #0x0
|
||||
@@ -3003,7 +3003,7 @@ _02059D4E:
|
||||
add r1, sp, #0xc
|
||||
str r0, [sp, #0x10]
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_SetPositionVec
|
||||
bl MapObject_SetPositionVector
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentY
|
||||
add r1, r0, #0x0
|
||||
|
||||
@@ -1725,10 +1725,10 @@ _0205AB68:
|
||||
_0205AB72:
|
||||
add r0, r6, #0x0
|
||||
bl PlayerAvatar_GetMapObject
|
||||
bl sub_02058BE4
|
||||
bl MapObject_GetPositionVectorYCoordUInt
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl sub_02058BE4
|
||||
bl MapObject_GetPositionVectorYCoordUInt
|
||||
cmp r4, r0
|
||||
beq _0205AB8E
|
||||
mov r0, #0x0
|
||||
|
||||
@@ -1302,7 +1302,7 @@ _0205B680:
|
||||
str r1, [sp, #0x14]
|
||||
add r0, r5, #0x0
|
||||
add r1, sp, #0xc
|
||||
bl sub_02058B94
|
||||
bl MapObject_SetFacingVector
|
||||
mov r0, #0xd
|
||||
ldrsb r1, [r4, r0]
|
||||
sub r1, r1, #0x1
|
||||
@@ -1320,7 +1320,7 @@ _0205B6B8:
|
||||
str r0, [r1, #0x4]
|
||||
str r0, [r1, #0x8]
|
||||
add r0, r5, #0x0
|
||||
bl sub_02058B94
|
||||
bl MapObject_SetFacingVector
|
||||
ldr r1, _0205B6FC ; =0x00020028
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_SetFlagsBits
|
||||
@@ -1839,7 +1839,7 @@ sub_0205BA4C: ; 0x0205BA4C
|
||||
ldr r0, [r4, #0x0]
|
||||
str r0, [sp, #0x4]
|
||||
add r0, r5, #0x0
|
||||
bl sub_02058B94
|
||||
bl MapObject_SetFacingVector
|
||||
ldr r1, [r4, #0x0]
|
||||
asr r0, r1, #0xe
|
||||
lsr r0, r0, #0x11
|
||||
@@ -1901,7 +1901,7 @@ _0205BADA:
|
||||
ldr r0, [r4, #0x0]
|
||||
str r0, [sp, #0x4]
|
||||
add r0, r5, #0x0
|
||||
bl sub_02058B94
|
||||
bl MapObject_SetFacingVector
|
||||
ldr r0, [r4, #0x0]
|
||||
cmp r0, #0x0
|
||||
ble _0205BAFA
|
||||
@@ -2337,7 +2337,7 @@ _0205BDFE:
|
||||
str r0, [r1, #0x4]
|
||||
str r0, [r1, #0x8]
|
||||
add r0, r4, #0x0
|
||||
bl sub_02058B94
|
||||
bl MapObject_SetFacingVector
|
||||
add r0, r4, #0x0
|
||||
bl ov06_0224D2E0
|
||||
ldr r1, _0205BE34 ; =0x00010004
|
||||
@@ -2374,7 +2374,7 @@ sub_0205BE38: ; 0x0205BE38
|
||||
ldr r0, [r2, r0]
|
||||
str r0, [sp, #0x4]
|
||||
add r0, r5, #0x0
|
||||
bl sub_02058B94
|
||||
bl MapObject_SetFacingVector
|
||||
ldr r0, [r4, #0x0]
|
||||
add r0, r0, #0x2
|
||||
str r0, [r4, #0x0]
|
||||
@@ -2388,7 +2388,7 @@ _0205BE70:
|
||||
str r0, [sp, #0x4]
|
||||
add r0, r5, #0x0
|
||||
add r1, sp, #0x0
|
||||
bl sub_02058B94
|
||||
bl MapObject_SetFacingVector
|
||||
ldr r1, _0205BE9C ; =0x00020028
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_SetFlagsBits
|
||||
|
||||
@@ -680,7 +680,7 @@ sub_0205E9C8: ; 0x0205E9C8
|
||||
add r1, r2, #0x0
|
||||
str r0, [r3, #0x0]
|
||||
add r0, r4, #0x0
|
||||
bl sub_02058B94
|
||||
bl MapObject_SetFacingVector
|
||||
add sp, #0xc
|
||||
pop {r4-r5, pc}
|
||||
nop
|
||||
@@ -771,7 +771,7 @@ sub_0205EA74: ; 0x0205EA74
|
||||
add r1, r2, #0x0
|
||||
str r0, [r3, #0x0]
|
||||
add r0, r4, #0x0
|
||||
bl sub_02058B94
|
||||
bl MapObject_SetFacingVector
|
||||
_0205EAA6:
|
||||
add sp, #0xc
|
||||
pop {r4-r5, pc}
|
||||
|
||||
@@ -4131,20 +4131,20 @@
|
||||
.extern MapObject_GetCurrentZ
|
||||
.extern MapObject_SetCurrentZ
|
||||
.extern MapObject_AddCurrentZ
|
||||
.extern MapObject_GetPositionVec
|
||||
.extern MapObject_SetPositionVec
|
||||
.extern sub_02058B7C
|
||||
.extern MapObject_GetPosVecYCoord
|
||||
.extern sub_02058B84
|
||||
.extern sub_02058B94
|
||||
.extern MapObject_CopyPositionVector
|
||||
.extern MapObject_SetPositionVector
|
||||
.extern MapObject_GetPositionVector
|
||||
.extern MapObject_GetPositionVectorYCoord
|
||||
.extern MapObject_CopyFacingVector
|
||||
.extern MapObject_SetFacingVector
|
||||
.extern sub_02058BA4
|
||||
.extern sub_02058BB4
|
||||
.extern sub_02058BC4
|
||||
.extern sub_02058BD4
|
||||
.extern sub_02058BE4
|
||||
.extern sub_02058D74
|
||||
.extern sub_02058DBC
|
||||
.extern sub_02058E28
|
||||
.extern MapObject_GetPositionVectorYCoordUInt
|
||||
.extern MapObjectManager_GetFirstObjectWithXAndZ
|
||||
.extern LocalMapObject_SetPositionFromVectorAndDirection
|
||||
.extern MapObject_SetPositionFromXYZAndDirection
|
||||
.extern sub_02058E90
|
||||
.extern sub_02058EB0
|
||||
.extern sub_02058EC8
|
||||
|
||||
@@ -67,7 +67,7 @@ ov05_021E5614: ; 0x021E5614
|
||||
add r0, r5, #0
|
||||
add r1, sp, #8
|
||||
str r5, [sp, #0x1c]
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, sp, #0x14
|
||||
str r0, [sp]
|
||||
mov r0, #0xff
|
||||
@@ -107,7 +107,7 @@ ov05_021E5650: ; 0x021E5650
|
||||
str r0, [r4, #0x28]
|
||||
ldr r0, [r4, #0x38]
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_0206476C
|
||||
@@ -147,7 +147,7 @@ _021E56B8:
|
||||
_021E56C8:
|
||||
add r0, r6, #0
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
mov r0, #0xa
|
||||
ldr r1, [sp, #8]
|
||||
lsl r0, r0, #0xc
|
||||
|
||||
@@ -67,7 +67,7 @@ ov05_021E57D4: ; 0x021E57D4
|
||||
add r0, r5, #0
|
||||
add r1, sp, #8
|
||||
str r5, [sp, #0x1c]
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, sp, #0x14
|
||||
str r0, [sp]
|
||||
mov r0, #0xff
|
||||
@@ -107,7 +107,7 @@ ov05_021E5810: ; 0x021E5810
|
||||
str r0, [r4, #0x28]
|
||||
ldr r0, [r4, #0x38]
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_0206476C
|
||||
@@ -138,7 +138,7 @@ ov05_021E585C: ; 0x021E585C
|
||||
_021E5878:
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
mov r0, #0xa
|
||||
ldr r1, [sp, #8]
|
||||
lsl r0, r0, #0xc
|
||||
|
||||
@@ -67,7 +67,7 @@ ov05_021E5970: ; 0x021E5970
|
||||
add r0, r5, #0
|
||||
add r1, sp, #8
|
||||
str r5, [sp, #0x1c]
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, sp, #0x14
|
||||
str r0, [sp]
|
||||
mov r0, #0xff
|
||||
@@ -107,7 +107,7 @@ ov05_021E59AC: ; 0x021E59AC
|
||||
str r0, [r4, #0x28]
|
||||
ldr r0, [r4, #0x3c]
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_0206476C
|
||||
@@ -141,7 +141,7 @@ _021E5A0E:
|
||||
_021E5A16:
|
||||
ldr r0, [r1, #0x3c]
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
mov r0, #0xa
|
||||
ldr r1, [sp, #8]
|
||||
lsl r0, r0, #0xc
|
||||
|
||||
@@ -80,7 +80,7 @@ ov05_021E5E8C: ; 0x021E5E8C
|
||||
str r0, [sp, #0xc]
|
||||
add r0, r4, #0
|
||||
add r1, sp, #0x10
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r4, #0
|
||||
bl MapObject_GetFacingDirection
|
||||
cmp r0, #3
|
||||
|
||||
@@ -1680,7 +1680,7 @@ ov05_021E6CC4: ; 0x021E6CC4
|
||||
str r6, [r5, #0x14]
|
||||
ldr r0, [r5, #0x3c]
|
||||
add r1, sp, #0xc
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
ldr r1, [sp, #0x14]
|
||||
ldr r0, [r5, #0x30]
|
||||
cmp r1, r0
|
||||
@@ -1737,7 +1737,7 @@ ov05_021E6D80: ; 0x021E6D80
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x3c]
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
ldr r1, [sp, #4]
|
||||
ldr r0, [r4, #0x20]
|
||||
add r1, r1, r0
|
||||
@@ -1749,7 +1749,7 @@ ov05_021E6D80: ; 0x021E6D80
|
||||
_021E6D9E:
|
||||
ldr r0, [r4, #0x3c]
|
||||
add r1, sp, #0
|
||||
bl MapObject_SetPositionVec
|
||||
bl MapObject_SetPositionVector
|
||||
ldr r0, [r4, #8]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #8]
|
||||
@@ -1772,7 +1772,7 @@ ov05_021E6DC0: ; 0x021E6DC0
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x3c]
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
ldr r1, [sp, #4]
|
||||
ldr r0, [r4, #0x20]
|
||||
add r1, r1, r0
|
||||
@@ -1793,7 +1793,7 @@ _021E6DDE:
|
||||
_021E6DEE:
|
||||
ldr r0, [r4, #0x3c]
|
||||
add r1, sp, #0
|
||||
bl MapObject_SetPositionVec
|
||||
bl MapObject_SetPositionVector
|
||||
ldr r0, [r4, #8]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #8]
|
||||
@@ -1913,7 +1913,7 @@ ov05_021E6E90: ; 0x021E6E90
|
||||
str r6, [r5, #0x14]
|
||||
ldr r0, [r5, #0x3c]
|
||||
add r1, sp, #0xc
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
ldr r1, [sp, #0x14]
|
||||
ldr r0, [r5, #0x30]
|
||||
cmp r1, r0
|
||||
@@ -1970,7 +1970,7 @@ ov05_021E6F50: ; 0x021E6F50
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x3c]
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
ldr r1, [sp, #8]
|
||||
ldr r0, [r4, #0x24]
|
||||
add r1, r1, r0
|
||||
@@ -1988,7 +1988,7 @@ _021E6F70:
|
||||
_021E6F78:
|
||||
ldr r0, [r4, #0x3c]
|
||||
add r1, sp, #0
|
||||
bl MapObject_SetPositionVec
|
||||
bl MapObject_SetPositionVector
|
||||
ldr r0, [r4, #8]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #8]
|
||||
@@ -2012,7 +2012,7 @@ ov05_021E6F9C: ; 0x021E6F9C
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x3c]
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
ldr r1, [sp, #4]
|
||||
ldr r0, [r4, #0x20]
|
||||
add r1, r1, r0
|
||||
@@ -2039,7 +2039,7 @@ _021E6FCC:
|
||||
_021E6FD4:
|
||||
ldr r0, [r4, #0x3c]
|
||||
add r1, sp, #0
|
||||
bl MapObject_SetPositionVec
|
||||
bl MapObject_SetPositionVector
|
||||
ldr r0, [r4, #8]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #8]
|
||||
@@ -2384,7 +2384,7 @@ ov05_021E727C: ; 0x021E727C
|
||||
ldr r2, [sp]
|
||||
add r1, r6, r7
|
||||
add r2, r2, r5
|
||||
bl sub_02058D74
|
||||
bl MapObjectManager_GetFirstObjectWithXAndZ
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
|
||||
|
||||
@@ -464,7 +464,7 @@ ov05_021E7AC0: ; 0x021E7AC0
|
||||
add r0, r5, #0
|
||||
add r1, sp, #8
|
||||
str r5, [sp, #0x20]
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetPriority
|
||||
add r1, r0, #1
|
||||
|
||||
@@ -192,10 +192,10 @@ ov05_021EDB10: ; 0x021EDB10
|
||||
_021EDB32:
|
||||
add r0, r4, #0
|
||||
add r1, sp, #0xc
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r4, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02058B84
|
||||
bl MapObject_CopyFacingVector
|
||||
ldr r1, [sp, #0xc]
|
||||
ldr r0, [sp]
|
||||
add r0, r1, r0
|
||||
|
||||
@@ -191,7 +191,7 @@ _021EDCB8:
|
||||
bl sub_02059E60
|
||||
add r0, r6, #0
|
||||
add r1, sp, #0x18
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
ldr r0, [sp, #0x1c]
|
||||
add r1, sp, #0xc
|
||||
str r0, [sp, #0x10]
|
||||
|
||||
@@ -1043,7 +1043,7 @@ ov05_021F0D18: ; 0x021F0D18
|
||||
bl ov05_021F2060
|
||||
add r0, r4, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02058B94
|
||||
bl MapObject_SetFacingVector
|
||||
add sp, #0xc
|
||||
pop {r3, r4, pc}
|
||||
.balign 4, 0
|
||||
@@ -2251,7 +2251,7 @@ _021F16B8:
|
||||
_021F16BE:
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02058B94
|
||||
bl MapObject_SetFacingVector
|
||||
add sp, #0xc
|
||||
pop {r4, r5, pc}
|
||||
nop
|
||||
|
||||
@@ -219,10 +219,10 @@ ov05_021F1E64: ; 0x021F1E64
|
||||
add r4, r1, #0
|
||||
add r5, r0, #0
|
||||
add r1, sp, #0x24
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0x18
|
||||
bl sub_02058B84
|
||||
bl MapObject_CopyFacingVector
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0xc
|
||||
bl sub_02058BA4
|
||||
|
||||
@@ -3124,7 +3124,7 @@ _021F35EC:
|
||||
_021F3658:
|
||||
add r0, r7, #0
|
||||
add r1, sp, #0x1c
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r7, #0
|
||||
bl ov05_021E4C24
|
||||
ldr r1, [sp, #0xc]
|
||||
|
||||
@@ -3000,7 +3000,7 @@ ov06_0223ACD8: ; 0x0223ACD8
|
||||
bl ov06_0223ADB4
|
||||
ldr r0, [r4, #8]
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
mov r0, #1
|
||||
ldr r1, [sp, #8]
|
||||
lsl r0, r0, #0x10
|
||||
@@ -4674,7 +4674,7 @@ ov06_0223B8EC: ; 0x0223B8EC
|
||||
ldr r0, [r0, #0x34]
|
||||
bl MapObjectManager_GetFirstActiveObjectByID
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
ldr r1, [sp]
|
||||
ldr r2, [sp, #4]
|
||||
ldr r3, [sp, #8]
|
||||
@@ -32663,7 +32663,7 @@ ov06_02249508: ; 0x02249508
|
||||
add r0, r5, #0
|
||||
add r1, sp, #8
|
||||
str r5, [sp, #0x1c]
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
mov r1, #2
|
||||
bl MapObject_GetPriorityPlusValue
|
||||
@@ -32764,7 +32764,7 @@ _022495D6:
|
||||
_022495EE:
|
||||
add r0, r6, #0
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_0206476C
|
||||
@@ -32838,7 +32838,7 @@ ov06_02249668: ; 0x02249668
|
||||
add r0, r5, #0
|
||||
add r1, sp, #8
|
||||
str r5, [sp, #0x1c]
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
mov r1, #2
|
||||
bl MapObject_GetPriorityPlusValue
|
||||
@@ -32888,7 +32888,7 @@ _022496D0:
|
||||
_022496E8:
|
||||
add r0, r6, #0
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_0206476C
|
||||
@@ -33039,7 +33039,7 @@ ov06_022497E8: ; 0x022497E8
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0x18
|
||||
str r5, [sp, #0x14]
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
mov r1, #2
|
||||
bl MapObject_GetPriorityPlusValue
|
||||
@@ -33289,13 +33289,13 @@ ov06_02249A00: ; 0x02249A00
|
||||
str r1, [sp, #4]
|
||||
ldr r0, [sp]
|
||||
add r1, r4, #0
|
||||
bl sub_02058B84
|
||||
bl MapObject_CopyFacingVector
|
||||
ldr r0, [r4, #8]
|
||||
add r1, r4, #0
|
||||
neg r6, r0
|
||||
ldr r0, [sp]
|
||||
ldr r7, [r4]
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
ldr r0, [r5, #0x14]
|
||||
add r1, r4, #0
|
||||
bl sub_02059E9C
|
||||
@@ -33899,7 +33899,7 @@ ov06_02249E9C: ; 0x02249E9C
|
||||
bl MapObject_GetPreviousZ
|
||||
str r0, [sp, #0x10]
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetPosVecYCoord
|
||||
bl MapObject_GetPositionVectorYCoord
|
||||
add r6, r0, #0
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetFacingDirection
|
||||
@@ -34351,10 +34351,10 @@ ov06_0224A1DC: ; 0x0224A1DC
|
||||
_0224A1FE:
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0xc
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02058B84
|
||||
bl MapObject_CopyFacingVector
|
||||
ldr r1, [sp, #0xc]
|
||||
ldr r0, [sp]
|
||||
ldr r2, [sp, #0x14]
|
||||
@@ -34506,7 +34506,7 @@ ov06_0224A310: ; 0x0224A310
|
||||
add r0, r5, #0
|
||||
add r1, sp, #8
|
||||
str r5, [sp, #0x1c]
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetPriority
|
||||
add r1, r0, #1
|
||||
@@ -34595,7 +34595,7 @@ _0224A3D0:
|
||||
str r0, [r5, #0xc]
|
||||
add r0, r4, #0
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r6, #0
|
||||
add r1, sp, #0
|
||||
bl sub_0206476C
|
||||
@@ -35073,10 +35073,10 @@ ov06_0224A710: ; 0x0224A710
|
||||
ldr r5, [r5, #0x18]
|
||||
add r1, sp, #0xc
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02058B84
|
||||
bl MapObject_CopyFacingVector
|
||||
ldr r1, [sp, #0xc]
|
||||
ldr r0, [sp]
|
||||
add r0, r1, r0
|
||||
@@ -35158,10 +35158,10 @@ _0224A828:
|
||||
bne _0224A86C
|
||||
add r0, r6, #0
|
||||
add r1, sp, #0xc
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r6, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02058B84
|
||||
bl MapObject_CopyFacingVector
|
||||
ldr r1, [sp, #0xc]
|
||||
ldr r0, [sp]
|
||||
add r0, r1, r0
|
||||
@@ -35326,10 +35326,10 @@ ov06_0224A948: ; 0x0224A948
|
||||
_0224A96A:
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0xc
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02058B84
|
||||
bl MapObject_CopyFacingVector
|
||||
ldr r1, [sp, #0xc]
|
||||
ldr r0, [sp]
|
||||
add r0, r1, r0
|
||||
@@ -35516,10 +35516,10 @@ ov06_0224AAB4: ; 0x0224AAB4
|
||||
_0224AAD6:
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0xc
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02058B84
|
||||
bl MapObject_CopyFacingVector
|
||||
ldr r1, [sp, #0xc]
|
||||
ldr r0, [sp]
|
||||
add r0, r1, r0
|
||||
@@ -35670,7 +35670,7 @@ _0224ABF6:
|
||||
add r1, sp, #0x14
|
||||
str r0, [r2]
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
add r1, sp, #8
|
||||
bl sub_02058BB4
|
||||
@@ -35814,7 +35814,7 @@ _0224AD06:
|
||||
bl sub_02058BB4
|
||||
add r0, r4, #0
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
mov r0, #1
|
||||
ldr r1, [r5, #0x1c]
|
||||
lsl r0, r0, #0xc
|
||||
@@ -36108,7 +36108,7 @@ ov06_0224AEE8: ; 0x0224AEE8
|
||||
_0224AF3E:
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0xc
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
_0224AF46:
|
||||
add r0, r5, #0
|
||||
mov r1, #2
|
||||
@@ -36192,7 +36192,7 @@ ov06_0224AFC4: ; 0x0224AFC4
|
||||
bl sub_02058BB4
|
||||
add r0, r4, #0
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl sub_0206476C
|
||||
@@ -36906,7 +36906,7 @@ ov06_0224B568: ; 0x0224B568
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0x24
|
||||
str r5, [sp, #0x20]
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
mov r1, #2
|
||||
bl MapObject_GetPriorityPlusValue
|
||||
@@ -36957,7 +36957,7 @@ ov06_0224B5D0: ; 0x0224B5D0
|
||||
lsl r0, r0, #0x10
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r4, #0x30]
|
||||
bl MapObject_GetPosVecYCoord
|
||||
bl MapObject_GetPositionVectorYCoord
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r4, #0x24]
|
||||
add r1, sp, #0
|
||||
@@ -37621,7 +37621,7 @@ ov06_0224BB0C: ; 0x0224BB0C
|
||||
_0224BB30:
|
||||
add r0, r6, #0
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
mov r0, #2
|
||||
ldr r1, [sp, #8]
|
||||
lsl r0, r0, #0xe
|
||||
@@ -37729,7 +37729,7 @@ ov06_0224BBEC: ; 0x0224BBEC
|
||||
add r0, r5, #0
|
||||
add r1, sp, #8
|
||||
str r5, [sp, #0x20]
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentX
|
||||
add r6, r0, #0
|
||||
@@ -37944,7 +37944,7 @@ ov06_0224BD90: ; 0x0224BD90
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0x24
|
||||
str r5, [sp, #0x20]
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
mov r1, #2
|
||||
bl MapObject_GetPriorityPlusValue
|
||||
@@ -37995,7 +37995,7 @@ ov06_0224BDF8: ; 0x0224BDF8
|
||||
lsl r0, r0, #0x10
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r4, #0x30]
|
||||
bl MapObject_GetPosVecYCoord
|
||||
bl MapObject_GetPositionVectorYCoord
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r4, #0x24]
|
||||
add r1, sp, #0
|
||||
@@ -38271,7 +38271,7 @@ ov06_0224C038: ; 0x0224C038
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0x24
|
||||
str r5, [sp, #0x20]
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
mov r1, #2
|
||||
bl MapObject_GetPriorityPlusValue
|
||||
@@ -38322,7 +38322,7 @@ ov06_0224C0A0: ; 0x0224C0A0
|
||||
lsl r0, r0, #0x10
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r4, #0x30]
|
||||
bl MapObject_GetPosVecYCoord
|
||||
bl MapObject_GetPositionVectorYCoord
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r4, #0x24]
|
||||
add r1, sp, #0
|
||||
@@ -40661,7 +40661,7 @@ ov06_0224D2E0: ; 0x0224D2E0
|
||||
add r0, r5, #0
|
||||
add r1, sp, #8
|
||||
str r5, [sp, #0x20]
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentX
|
||||
add r6, r0, #0
|
||||
@@ -43301,7 +43301,7 @@ ov06_0224E858: ; 0x0224E858
|
||||
bl MapObjectManager_GetFirstActiveObjectByID
|
||||
add r6, r0, #0
|
||||
add r1, sp, #0
|
||||
bl MapObject_GetPositionVec
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r6, #0
|
||||
bl MapObject_GetCurrentX
|
||||
add r5, r0, #0
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
#include "field_system.h"
|
||||
#include "heap.h"
|
||||
|
||||
extern UnkLMOCallbackStruct *UNK_020F6364[55];
|
||||
extern UnkLMOCallbackStruct3 ov05_021F9494[210];
|
||||
|
||||
static MapObjectManager *MapObjectManager_New(u32 objectCount);
|
||||
static LocalMapObject *MapObject_CreateFromObjectEvent(MapObjectManager *manager, ObjectEvent *objectEvent, u32 mapNo);
|
||||
static void SavedMapObject_InitFromLocalMapObject(FieldSystem *fieldSystem, LocalMapObject *object, SavedMapObject *savedObject);
|
||||
@@ -19,13 +22,13 @@ static LocalMapObject *MapObjectManager_GetFirstInactiveObject(MapObjectManager
|
||||
static LocalMapObject *sub_02057C98(MapObjectManager *manager, u32 id, u32 mapNo);
|
||||
static void sub_02057CF0(MapObjectManager *manager, LocalMapObject *object);
|
||||
static void MapObject_InitFromObjectEvent(LocalMapObject *object, ObjectEvent *objectEvent, FieldSystem *fieldSystem);
|
||||
static void MapObject_SetPositionVecFromObjectEvent(LocalMapObject *object, ObjectEvent *objectEvent);
|
||||
static void MapObject_SetPositionVectorFromObjectEvent(LocalMapObject *object, ObjectEvent *objectEvent);
|
||||
static void sub_02057E90(LocalMapObject *object, MapObjectManager *manager);
|
||||
/*static*/ void sub_02057EE0(LocalMapObject *object);
|
||||
static void sub_02057F18(LocalMapObject *object);
|
||||
static void MapObject_Clear(LocalMapObject *object);
|
||||
static u32 sub_02057F90(LocalMapObject *object, u32 mapId, u32 objectEventCount, ObjectEvent *objectEvents);
|
||||
static LocalMapObject *MapObjectManager_GetFirstObjectWithIDAndMap(MapObjectManager *manager, u32 mapId, u32 flagId);
|
||||
static LocalMapObject *MapObjectManager_GetFirstObjectWithIDAndMap(MapObjectManager *manager, u32 objectId, u32 mapId);
|
||||
static void sub_02058148(LocalMapObject *object);
|
||||
/*static*/ void sub_0205815C(LocalMapObject *object);
|
||||
static void MapObject_NoOp(LocalMapObject *object);
|
||||
@@ -46,20 +49,20 @@ static void MapObjectManager_SetPriority(MapObjectManager *manager, u32 priority
|
||||
static void MapObjectManager_SetObjects(MapObjectManager *manager, LocalMapObject *objects);
|
||||
static LocalMapObject *MapObjectManager_GetObjects3(MapObjectManager *manager);
|
||||
static void MapObjectManager_SetFieldSystem(MapObjectManager *manager, FieldSystem *fieldSystem);
|
||||
/*static*/ FieldSystem *MapObjectManager_GetFieldSystem(MapObjectManager *manager);
|
||||
static FieldSystem *MapObjectManager_GetFieldSystem(MapObjectManager *manager);
|
||||
static void MapObject_SetFlags(LocalMapObject *object, u32 flags);
|
||||
static u32 MapObject_GetFlags(LocalMapObject *object);
|
||||
static void MapObject_SetFlags2(LocalMapObject *object, u32 flags);
|
||||
static u32 MapObject_GetFlags2(LocalMapObject *object);
|
||||
static void MapObject_SetMapID(LocalMapObject *object, u32 mapId);
|
||||
/*static*/ void MapObject_SetMovement(LocalMapObject *object, u32 movement);
|
||||
/*static*/ u32 MapObject_GetEventFlag(LocalMapObject *object);
|
||||
static u32 MapObject_GetEventFlag(LocalMapObject *object);
|
||||
static void MapObject_SetInitialFacingDirection(LocalMapObject *object, u32 initialFacing);
|
||||
static void sub_02058554(LocalMapObject *object, SysTask *sysTask);
|
||||
static SysTask *sub_0205855C(LocalMapObject *object);
|
||||
static void sub_02058564(LocalMapObject *object);
|
||||
static void MapObject_SetManager(LocalMapObject *object, MapObjectManager *manager);
|
||||
/*static*/ MapObjectManager *MapObject_GetManagerFromManager(LocalMapObject *object);
|
||||
static MapObjectManager *MapObject_GetManagerFromManager(LocalMapObject *object);
|
||||
static void sub_02058630(LocalMapObject *object, LocalMapObject_UnkCallback callback);
|
||||
static void sub_02058644(LocalMapObject *object, LocalMapObject_UnkCallback callback);
|
||||
static void sub_02058658(LocalMapObject *object, LocalMapObject_UnkCallback callback);
|
||||
@@ -78,27 +81,49 @@ static void MapObject_SetFlag25(LocalMapObject *object, BOOL set);
|
||||
static void MapObject_SetInitialX(LocalMapObject *object, u32 initialX);
|
||||
static void MapObject_SetInitialY(LocalMapObject *object, u32 initialY);
|
||||
static void MapObject_SetInitialZ(LocalMapObject *object, u32 initialZ);
|
||||
static void ObjectEvent_SetID(ObjectEvent *objectEvent, u16 id);
|
||||
static u16 ObjectEvent_GetID(ObjectEvent *objectEvent);
|
||||
static void ObjectEvent_SetSpriteID(ObjectEvent *objectEvent, u32 spriteId);
|
||||
static u16 ObjectEvent_GetSpriteID(ObjectEvent *objectEvent);
|
||||
static void ObjectEvent_SetMovement(ObjectEvent *objectEvent, u32 movement);
|
||||
static u16 ObjectEvent_GetMovement(ObjectEvent *objectEvent);
|
||||
static void ObjectEvent_SetType(ObjectEvent *objectEvent, u16 type);
|
||||
static u16 ObjectEvent_GetType(ObjectEvent *objectEvent);
|
||||
static void ObjectEvent_SetEventFlag(ObjectEvent *objectEvent, u16 eventFlag);
|
||||
static u16 ObjectEvent_GetEventFlag(ObjectEvent *objectEvent);
|
||||
static void ObjectEvent_SetScriptID(ObjectEvent *objectEvent, u16 scriptId);
|
||||
static u16 ObjectEvent_GetScriptID(ObjectEvent *objectEvent);
|
||||
static void ObjectEvent_SetFacingDirection(ObjectEvent *objectEvent, u32 facingDirection);
|
||||
static s16 ObjectEvent_GetFacingDirection(ObjectEvent *objectEvent);
|
||||
static void ObjectEvent_SetParam(ObjectEvent *objectEvent, s32 value, u32 param);
|
||||
static u16 ObjectEvent_GetParam(ObjectEvent *objectEvent, u32 param);
|
||||
static void ObjectEvent_SetXRange(ObjectEvent *objectEvent, s16 xRange);
|
||||
static s16 ObjectEvent_GetXRange(ObjectEvent *objectEvent);
|
||||
static void ObjectEvent_SetYRange(ObjectEvent *objectEvent, s16 yRange);
|
||||
static s16 ObjectEvent_GetYRange(ObjectEvent *objectEvent);
|
||||
static void ObjectEvent_SetXCoord(ObjectEvent *objectEvent, u32 x);
|
||||
static u16 ObjectEvent_GetXCoord(ObjectEvent *template);
|
||||
static void ObjectEvent_SetYCoord(ObjectEvent *objectEvent, u32 y);
|
||||
static u32 ObjectEvent_GetYCoord(ObjectEvent *objectEvent);
|
||||
static void ObjectEvent_SetZCoord(ObjectEvent *objectEvent, u32 z);
|
||||
static u16 ObjectEvent_GetZCoord(ObjectEvent *objectEvent);
|
||||
static ObjectEvent *ObjectEvent_GetByID(u16 id, s32 objectEventCount, ObjectEvent *objectEvents);
|
||||
static BOOL ObjectEvent_ScriptIDIsUnset(ObjectEvent *objectEvent);
|
||||
static u16 ObjectEvent_GetEventFlag_AssertScriptIDIsUnset(ObjectEvent *template);
|
||||
static UnkLMOCallbackStruct *sub_02058D14(u32 movement);
|
||||
static LocalMapObject_UnkCallback sub_02058D2C(UnkLMOCallbackStruct *callbackStruct);
|
||||
static LocalMapObject_UnkCallback sub_02058D30(UnkLMOCallbackStruct *callbackStruct);
|
||||
static LocalMapObject_UnkCallback sub_02058D34(UnkLMOCallbackStruct *callbackStruct);
|
||||
static LocalMapObject_UnkCallback sub_02058D38(UnkLMOCallbackStruct2 *callbackStruct);
|
||||
static LocalMapObject_UnkCallback sub_02058D3C(UnkLMOCallbackStruct2 *callbackStruct);
|
||||
static LocalMapObject_UnkCallback sub_02058D40(UnkLMOCallbackStruct2 *callbackStruct);
|
||||
static LocalMapObject_UnkCallback sub_02058D44(UnkLMOCallbackStruct2 *callbackStruct);
|
||||
static LocalMapObject_UnkCallback sub_02058D48(UnkLMOCallbackStruct2 *callbackStruct);
|
||||
static UnkLMOCallbackStruct2 *sub_02058D4C(u32 spriteId);
|
||||
|
||||
extern void ov05_021F2AF4(MapObjectManager *manager, void *param0);
|
||||
extern u32 ObjectEvent_GetID(ObjectEvent *objectEvent);
|
||||
extern BOOL ObjectEvent_ScriptIDIsUnset(ObjectEvent *objectEvent);
|
||||
extern u16 ObjectEvent_GetFlagID_AssertScriptIDIsUnset(ObjectEvent *objectEvent);
|
||||
extern void sub_02057E90(LocalMapObject *object, MapObjectManager *manager);
|
||||
extern void ObjectEvent_SetId(ObjectEvent *objectEvent, u32 id);
|
||||
extern void ObjectEvent_SetSprite(ObjectEvent *objectEvent, u32 sprite);
|
||||
extern void ObjectEvent_SetMovement(ObjectEvent *objectEvent, u32 movement);
|
||||
extern void ObjectEvent_SetType(ObjectEvent *objectEvent, u32 type);
|
||||
extern void ObjectEvent_SetFlagId(ObjectEvent *objectEvent, u32 flagId);
|
||||
extern void ObjectEvent_SetScript(ObjectEvent *objectEvent, u32 script);
|
||||
extern void ObjectEvent_SetFacing(ObjectEvent *objectEvent, u32 direction);
|
||||
extern void ObjectEvent_SetParam(ObjectEvent *objectEvent, u32 value, u32 param);
|
||||
extern void ObjectEvent_SetXRange(ObjectEvent *objectEvent, u32 xRange);
|
||||
extern void ObjectEvent_SetYRange(ObjectEvent *objectEvent, u32 yRange);
|
||||
extern void ObjectEvent_SetXCoord(ObjectEvent *objectEvent, u32 xCoord);
|
||||
extern void ObjectEvent_SetYCoord(ObjectEvent *objectEvent, u32 yCoord);
|
||||
extern void ObjectEvent_SetHeight(ObjectEvent *objectEvent, u32 height);
|
||||
extern u32 ObjectEvent_GetFlagID(ObjectEvent *objectEvent);
|
||||
extern ObjectEvent *ObjectEvent_GetById(u32 id, u32 objectEventCount, ObjectEvent *events);
|
||||
extern u8 FieldSystem_FlagCheck(FieldSystem *fieldSystem, u16 flag);
|
||||
extern MapObjectManager *MapObject_GetManagerFromManager(LocalMapObject *object);
|
||||
extern void FieldSystem_FlagSet(FieldSystem *fieldSystem, u16 flag);
|
||||
@@ -108,33 +133,8 @@ extern void sub_02058EE0(LocalMapObject *object);
|
||||
extern void sub_02058EE4(LocalMapObject *object);
|
||||
extern void sub_02057AEC(MapObjectManager *manager, LocalMapObject *object);
|
||||
extern void sub_02059E60(s32 x, s32 y, VecFx32 *vector);
|
||||
extern u32 MapObject_GetPosVecYCoord(LocalMapObject *object);
|
||||
extern BOOL sub_02059EC8(FieldSystem *fieldSystem, VecFx32 *vector, BOOL flag);
|
||||
extern void MapObject_SetPositionVec(LocalMapObject *object, VecFx32 *coords);
|
||||
extern void MapObject_ClearHeldMovement(LocalMapObject *object);
|
||||
extern void MapObject_GetPositionVec(LocalMapObject *object, VecFx32 *position);
|
||||
extern void MapObject_CreateFromInitArgs(MapObjectInitArgs *args);
|
||||
extern u16 ObjectEvent_GetSpriteID(ObjectEvent *objectEvent);
|
||||
extern u16 ObjectEvent_GetMovement(ObjectEvent *objectEvent);
|
||||
extern u16 ObjectEvent_GetType(ObjectEvent *objectEvent);
|
||||
extern u16 ObjectEvent_GetScriptID(ObjectEvent *objectEvent);
|
||||
extern u16 ObjectEvent_GetInitialFacingDirection(ObjectEvent *objectEvent);
|
||||
extern u32 ObjectEvent_GetParam(ObjectEvent *objectEvent, u32 param);
|
||||
extern u32 ObjectEvent_GetXRange(ObjectEvent *objectEvent);
|
||||
extern u32 ObjectEvent_GetYRange(ObjectEvent *objectEvent);
|
||||
extern u16 ObjectEvent_GetXCoord(ObjectEvent *objectEvent);
|
||||
extern u16 ObjectEvent_GetYCoord(ObjectEvent *objectEvent);
|
||||
extern u32 ObjectEvent_GetHeight(ObjectEvent *objectEvent);
|
||||
extern UnkLMOCallbackStruct *sub_02058D14(u32 movement);
|
||||
extern LocalMapObject_UnkCallback sub_02058D2C(UnkLMOCallbackStruct *callbackStruct);
|
||||
extern LocalMapObject_UnkCallback sub_02058D30(UnkLMOCallbackStruct *callbackStruct);
|
||||
extern LocalMapObject_UnkCallback sub_02058D34(UnkLMOCallbackStruct *callbackStruct);
|
||||
extern UnkLMOCallbackStruct2 *sub_02058D4C(u32 spriteId);
|
||||
extern LocalMapObject_UnkCallback sub_02058D38(UnkLMOCallbackStruct2 *callbackStruct);
|
||||
extern LocalMapObject_UnkCallback sub_02058D3C(UnkLMOCallbackStruct2 *callbackStruct);
|
||||
extern LocalMapObject_UnkCallback sub_02058D40(UnkLMOCallbackStruct2 *callbackStruct);
|
||||
extern LocalMapObject_UnkCallback sub_02058D44(UnkLMOCallbackStruct2 *callbackStruct);
|
||||
extern LocalMapObject_UnkCallback sub_02058D48(UnkLMOCallbackStruct2 *callbackStruct);
|
||||
extern u16 FieldSystem_VarGetObjectEventGraphicsId(FieldSystem *fieldSystem, u16 spriteId);
|
||||
extern u32 sub_02059D1C(LocalMapObject *object);
|
||||
extern void sub_02058EE8(LocalMapObject *object);
|
||||
@@ -143,6 +143,7 @@ extern void sub_02058EF8(LocalMapObject *object);
|
||||
extern void ov05_021F1D8C(LocalMapObject *object);
|
||||
extern BOOL sub_0205C334(void);
|
||||
extern u32 sub_0205C340(LocalMapObject *object);
|
||||
extern void sub_02059C60(LocalMapObject *object);
|
||||
|
||||
MapObjectManager *MapObjectManager_Init(FieldSystem *fieldSystem, u32 objectCount, u32 priority) {
|
||||
MapObjectManager *ret = MapObjectManager_New(objectCount);
|
||||
@@ -208,7 +209,7 @@ static LocalMapObject *MapObject_CreateFromObjectEvent(MapObjectManager *manager
|
||||
return ret;
|
||||
}
|
||||
} else {
|
||||
ret = MapObjectManager_GetFirstObjectWithIDAndMap(manager, objectId, ObjectEvent_GetFlagID_AssertScriptIDIsUnset(objectEvent));
|
||||
ret = MapObjectManager_GetFirstObjectWithIDAndMap(manager, objectId, ObjectEvent_GetEventFlag_AssertScriptIDIsUnset(objectEvent));
|
||||
if (ret != NULL) {
|
||||
sub_02058258(ret, mapNo, objectEvent);
|
||||
return ret;
|
||||
@@ -233,32 +234,33 @@ static LocalMapObject *MapObject_CreateFromObjectEvent(MapObjectManager *manager
|
||||
|
||||
LocalMapObject *MapObject_Create(MapObjectManager *manager, u32 x, u32 y, u32 direction, u32 sprite, u32 movement, u32 mapNo) {
|
||||
ObjectEvent objectEvent;
|
||||
ObjectEvent_SetId(&objectEvent, 0);
|
||||
ObjectEvent_SetSprite(&objectEvent, sprite);
|
||||
ObjectEvent_SetID(&objectEvent, 0);
|
||||
ObjectEvent_SetSpriteID(&objectEvent, sprite);
|
||||
ObjectEvent_SetMovement(&objectEvent, movement);
|
||||
ObjectEvent_SetType(&objectEvent, 0);
|
||||
ObjectEvent_SetFlagId(&objectEvent, 0);
|
||||
ObjectEvent_SetScript(&objectEvent, 0);
|
||||
ObjectEvent_SetFacing(&objectEvent, direction);
|
||||
ObjectEvent_SetEventFlag(&objectEvent, 0);
|
||||
ObjectEvent_SetScriptID(&objectEvent, 0);
|
||||
ObjectEvent_SetFacingDirection(&objectEvent, direction);
|
||||
ObjectEvent_SetParam(&objectEvent, 0, 0);
|
||||
ObjectEvent_SetParam(&objectEvent, 0, 1);
|
||||
ObjectEvent_SetParam(&objectEvent, 0, 2);
|
||||
ObjectEvent_SetXRange(&objectEvent, 0);
|
||||
ObjectEvent_SetYRange(&objectEvent, 0);
|
||||
ObjectEvent_SetXCoord(&objectEvent, x);
|
||||
ObjectEvent_SetYCoord(&objectEvent, y);
|
||||
ObjectEvent_SetHeight(&objectEvent, 0);
|
||||
ObjectEvent_SetZCoord(&objectEvent, y);
|
||||
ObjectEvent_SetYCoord(&objectEvent, 0);
|
||||
|
||||
return MapObject_CreateFromObjectEvent(manager, &objectEvent, mapNo);
|
||||
}
|
||||
|
||||
LocalMapObject *MapObject_CreateFromObjectEventWithId(MapObjectManager *manager, u16 id, u32 objectEventCount, u32 mapNo, const ObjectEvent *events) {
|
||||
LocalMapObject *ret = NULL;
|
||||
ObjectEvent *objectEvent = ObjectEvent_GetById(id, objectEventCount, (ObjectEvent *)events);
|
||||
ObjectEvent *objectEvent = ObjectEvent_GetByID(id, objectEventCount, (ObjectEvent *)events);
|
||||
if (objectEvent != NULL) {
|
||||
u32 flagId = ObjectEvent_GetFlagID(objectEvent);
|
||||
// casts and typing required to match
|
||||
u32 eventFlag = ObjectEvent_GetEventFlag(objectEvent);
|
||||
FieldSystem *fieldSystem = MapObjectManager_GetFieldSystem(manager);
|
||||
if (FieldSystem_FlagCheck(fieldSystem, (u16)flagId) == FALSE) {
|
||||
if (FieldSystem_FlagCheck(fieldSystem, (u16)eventFlag) == FALSE) {
|
||||
ret = MapObject_CreateFromObjectEvent(manager, objectEvent, mapNo);
|
||||
}
|
||||
}
|
||||
@@ -427,10 +429,10 @@ static void SavedMapObject_InitFromLocalMapObject(FieldSystem *fieldSystem, Loca
|
||||
|
||||
VecFx32 coords;
|
||||
sub_02059E60(savedObject->currentX, savedObject->currentZ, &coords); // some kind of x y vec copy with convertion between int and fx32
|
||||
coords.y = MapObject_GetPosVecYCoord(localObject);
|
||||
coords.y = MapObject_GetPositionVectorYCoord(localObject);
|
||||
|
||||
if (!sub_02059EC8(fieldSystem, &coords, MapObject_CheckFlag29(localObject))) {
|
||||
savedObject->vecY = MapObject_GetPosVecYCoord(localObject);
|
||||
savedObject->vecY = MapObject_GetPositionVectorYCoord(localObject);
|
||||
} else {
|
||||
savedObject->vecY = coords.y;
|
||||
}
|
||||
@@ -466,7 +468,7 @@ static void LocalMapObject_InitFromSavedMapObject(LocalMapObject *localObject, S
|
||||
|
||||
VecFx32 coords = {};
|
||||
coords.y = savedObject->vecY;
|
||||
MapObject_SetPositionVec(localObject, &coords);
|
||||
MapObject_SetPositionVector(localObject, &coords);
|
||||
|
||||
memcpy(sub_020585B0(localObject), savedObject->unk30, 16);
|
||||
memcpy(sub_020585D8(localObject), savedObject->unk40, 16);
|
||||
@@ -492,7 +494,7 @@ static void sub_02057B34(LocalMapObject *object) {
|
||||
|
||||
static void MapObject_ConvertXZToPositionVec(LocalMapObject *object) {
|
||||
VecFx32 position;
|
||||
MapObject_GetPositionVec(object, &position);
|
||||
MapObject_CopyPositionVector(object, &position);
|
||||
|
||||
u32 x = MapObject_GetCurrentX(object);
|
||||
position.x = x * FX32_CONST(16) + FX32_CONST(8);
|
||||
@@ -504,7 +506,7 @@ static void MapObject_ConvertXZToPositionVec(LocalMapObject *object) {
|
||||
position.z = z * FX32_CONST(16) + FX32_CONST(8);
|
||||
MapObject_SetPreviousZ(object, z);
|
||||
|
||||
MapObject_SetPositionVec(object, &position);
|
||||
MapObject_SetPositionVector(object, &position);
|
||||
}
|
||||
|
||||
void MapObject_CreateFromMultipleObjectEvents(MapObjectManager *manager, u32 mapNo, u32 objectEventCount, ObjectEvent *objectEvents) {
|
||||
@@ -529,8 +531,8 @@ static void MapObject_CreateFromInitArgs(MapObjectInitArgs *args) {
|
||||
FieldSystem *fieldSystem = MapObjectManager_GetFieldSystem(args->manager);
|
||||
ObjectEvent *objectEvents = args->objectEvents;
|
||||
|
||||
do { // must be do while due to initial check
|
||||
GF_ASSERT((ObjectEvent_ScriptIDIsUnset(objectEvents) != TRUE && FieldSystem_FlagCheck(fieldSystem, objectEvents->flag) != FALSE) || MapObject_CreateFromObjectEvent(args->manager, objectEvents, args->mapNo) != NULL); // this is dumb, but is required to match
|
||||
do { // must be do while due to initial check
|
||||
GF_ASSERT((ObjectEvent_ScriptIDIsUnset(objectEvents) != TRUE && FieldSystem_FlagCheck(fieldSystem, objectEvents->eventFlag) != FALSE) || MapObject_CreateFromObjectEvent(args->manager, objectEvents, args->mapNo) != NULL); // this is dumb, but is required to match
|
||||
|
||||
objectEvents++;
|
||||
args->index++;
|
||||
@@ -588,19 +590,19 @@ static void MapObject_InitFromObjectEvent(LocalMapObject *object, ObjectEvent *o
|
||||
MapObject_SetSpriteID(object, FieldSystem_ResolveObjectSpriteID(fieldSystem, ObjectEvent_GetSpriteID(objectEvent)));
|
||||
MapObject_SetMovement(object, ObjectEvent_GetMovement(objectEvent));
|
||||
MapObject_SetType(object, ObjectEvent_GetType(objectEvent));
|
||||
MapObject_SetEventFlag(object, ObjectEvent_GetFlagID(objectEvent));
|
||||
MapObject_SetEventFlag(object, ObjectEvent_GetEventFlag(objectEvent));
|
||||
MapObject_SetScriptID(object, ObjectEvent_GetScriptID(objectEvent));
|
||||
MapObject_SetInitialFacingDirection(object, ObjectEvent_GetInitialFacingDirection(objectEvent));
|
||||
MapObject_SetInitialFacingDirection(object, ObjectEvent_GetFacingDirection(objectEvent));
|
||||
MapObject_SetParam(object, ObjectEvent_GetParam(objectEvent, 0), 0);
|
||||
MapObject_SetParam(object, ObjectEvent_GetParam(objectEvent, 1), 1);
|
||||
MapObject_SetParam(object, ObjectEvent_GetParam(objectEvent, 2), 2);
|
||||
MapObject_SetXRange(object, ObjectEvent_GetXRange(objectEvent));
|
||||
MapObject_SetYRange(object, ObjectEvent_GetYRange(objectEvent));
|
||||
|
||||
MapObject_SetPositionVecFromObjectEvent(object, objectEvent);
|
||||
MapObject_SetPositionVectorFromObjectEvent(object, objectEvent);
|
||||
}
|
||||
|
||||
static void MapObject_SetPositionVecFromObjectEvent(LocalMapObject *object, ObjectEvent *objectEvent) {
|
||||
static void MapObject_SetPositionVectorFromObjectEvent(LocalMapObject *object, ObjectEvent *objectEvent) {
|
||||
VecFx32 coords;
|
||||
|
||||
u16 x = ObjectEvent_GetXCoord(objectEvent);
|
||||
@@ -609,19 +611,19 @@ static void MapObject_SetPositionVecFromObjectEvent(LocalMapObject *object, Obje
|
||||
MapObject_SetPreviousX(object, x);
|
||||
MapObject_SetCurrentX(object, x);
|
||||
|
||||
coords.y = ObjectEvent_GetHeight(objectEvent);
|
||||
coords.y = ObjectEvent_GetYCoord(objectEvent);
|
||||
u32 y = (coords.y >> 3) / FX32_ONE;
|
||||
MapObject_SetInitialY(object, y);
|
||||
MapObject_SetPreviousY(object, y);
|
||||
MapObject_SetCurrentY(object, y);
|
||||
|
||||
u16 z = ObjectEvent_GetYCoord(objectEvent);
|
||||
u16 z = ObjectEvent_GetZCoord(objectEvent);
|
||||
coords.z = z * FX32_CONST(16) + FX32_CONST(8);
|
||||
MapObject_SetInitialZ(object, z);
|
||||
MapObject_SetPreviousZ(object, z);
|
||||
MapObject_SetCurrentZ(object, z);
|
||||
|
||||
MapObject_SetPositionVec(object, &coords);
|
||||
MapObject_SetPositionVector(object, &coords);
|
||||
}
|
||||
|
||||
static void sub_02057E90(LocalMapObject *object, MapObjectManager *manager) { // setup facing and flags? also sets manager?
|
||||
@@ -666,14 +668,14 @@ static u32 sub_02057F90(LocalMapObject *object, u32 mapId, u32 objectEventCount,
|
||||
}
|
||||
|
||||
if (ObjectEvent_ScriptIDIsUnset(objectEvents) == TRUE) {
|
||||
u16 flagId = ObjectEvent_GetFlagID_AssertScriptIDIsUnset(objectEvents);
|
||||
u16 eventFlag = ObjectEvent_GetEventFlag_AssertScriptIDIsUnset(objectEvents);
|
||||
if (MapObject_CheckFlag25(object) == TRUE) { // this and the one below cannot be combined as it doesn't match
|
||||
if (sub_02058750(object) == flagId) {
|
||||
if (sub_02058750(object) == eventFlag) {
|
||||
return 1;
|
||||
}
|
||||
// I'm assume that sometimes the ObjectEvent flags equals the mapId to signify that
|
||||
// this is a map-wide event etc.
|
||||
} else if (MapObject_GetMapID(object) == flagId) {
|
||||
} else if (MapObject_GetMapID(object) == eventFlag) {
|
||||
return 2;
|
||||
}
|
||||
// this is indeed a weird comparsion, but I checked, it's correct
|
||||
@@ -812,7 +814,7 @@ static void sub_02058214(LocalMapObject *object, ObjectEvent *objectEvent, u32 m
|
||||
MapObject_SetFlag25(object, FALSE);
|
||||
MapObject_SetMapID(object, mapNo);
|
||||
MapObject_SetScriptID(object, ObjectEvent_GetScriptID(objectEvent));
|
||||
MapObject_SetEventFlag(object, ObjectEvent_GetFlagID(objectEvent));
|
||||
MapObject_SetEventFlag(object, ObjectEvent_GetEventFlag(objectEvent));
|
||||
}
|
||||
|
||||
static void sub_02058258(LocalMapObject *object, u32 mapNo, ObjectEvent *objectEvent) {
|
||||
@@ -820,7 +822,7 @@ static void sub_02058258(LocalMapObject *object, u32 mapNo, ObjectEvent *objectE
|
||||
|
||||
MapObject_SetFlag25(object, TRUE);
|
||||
MapObject_SetScriptID(object, ObjectEvent_GetScriptID(objectEvent));
|
||||
MapObject_SetEventFlag(object, ObjectEvent_GetFlagID_AssertScriptIDIsUnset(objectEvent));
|
||||
MapObject_SetEventFlag(object, ObjectEvent_GetEventFlag_AssertScriptIDIsUnset(objectEvent));
|
||||
MapObject_SetMapID(object, mapNo);
|
||||
}
|
||||
|
||||
@@ -958,7 +960,7 @@ static void MapObjectManager_SetFieldSystem(MapObjectManager *manager, FieldSyst
|
||||
manager->fieldSystem = fieldSystem;
|
||||
}
|
||||
|
||||
/*static*/ FieldSystem *MapObjectManager_GetFieldSystem(MapObjectManager *manager) {
|
||||
static FieldSystem *MapObjectManager_GetFieldSystem(MapObjectManager *manager) {
|
||||
return manager->fieldSystem;
|
||||
}
|
||||
|
||||
@@ -1055,7 +1057,7 @@ void MapObject_SetEventFlag(LocalMapObject *object, u32 eventFlag) {
|
||||
object->eventFlag = eventFlag;
|
||||
}
|
||||
|
||||
/*static*/ u32 MapObject_GetEventFlag(LocalMapObject *object) {
|
||||
static u32 MapObject_GetEventFlag(LocalMapObject *object) {
|
||||
return object->eventFlag;
|
||||
}
|
||||
|
||||
@@ -1184,7 +1186,7 @@ MapObjectManager *MapObject_GetManager(LocalMapObject *object) {
|
||||
return object->manager;
|
||||
}
|
||||
|
||||
/*static*/ MapObjectManager *MapObject_GetManagerFromManager(LocalMapObject *object) {
|
||||
static MapObjectManager *MapObject_GetManagerFromManager(LocalMapObject *object) {
|
||||
return MapObjectManager_Get(object->manager);
|
||||
}
|
||||
|
||||
@@ -1675,3 +1677,335 @@ void MapObject_SetCurrentZ(LocalMapObject *object, u32 currentZ) {
|
||||
void MapObject_AddCurrentZ(LocalMapObject *object, u32 currentZ) {
|
||||
object->currentZ += currentZ;
|
||||
}
|
||||
|
||||
void MapObject_CopyPositionVector(LocalMapObject *object, VecFx32 *positionVector) {
|
||||
*positionVector = object->positionVector;
|
||||
}
|
||||
|
||||
void MapObject_SetPositionVector(LocalMapObject *object, VecFx32 *positionVector) {
|
||||
object->positionVector = *positionVector;
|
||||
}
|
||||
|
||||
VecFx32 *MapObject_GetPositionVector(LocalMapObject *object) {
|
||||
return &object->positionVector;
|
||||
}
|
||||
|
||||
fx32 MapObject_GetPositionVectorYCoord(LocalMapObject *object) {
|
||||
return object->positionVector.y;
|
||||
}
|
||||
|
||||
void MapObject_CopyFacingVector(LocalMapObject *object, VecFx32 *facingVector) {
|
||||
*facingVector = object->facingVector;
|
||||
}
|
||||
|
||||
void MapObject_SetFacingVector(LocalMapObject *object, VecFx32 *facingVector) {
|
||||
object->facingVector = *facingVector;
|
||||
}
|
||||
|
||||
void sub_02058BA4(LocalMapObject *object, VecFx32 *vector) {
|
||||
*vector = object->unk88;
|
||||
}
|
||||
|
||||
void sub_02058BB4(LocalMapObject *object, VecFx32 *vector) {
|
||||
object->unk88 = *vector;
|
||||
}
|
||||
|
||||
void sub_02058BC4(LocalMapObject *object, VecFx32 *vector) {
|
||||
*vector = object->unk94;
|
||||
}
|
||||
|
||||
void sub_02058BD4(LocalMapObject *object, VecFx32 *vector) {
|
||||
object->unk94 = *vector;
|
||||
}
|
||||
|
||||
u32 MapObject_GetPositionVectorYCoordUInt(LocalMapObject *object) {
|
||||
fx32 y = MapObject_GetPositionVectorYCoord(object);
|
||||
return (y >> 3) / FX32_ONE;
|
||||
}
|
||||
|
||||
static void ObjectEvent_SetID(ObjectEvent *objectEvent, u16 id) {
|
||||
objectEvent->id = id;
|
||||
}
|
||||
|
||||
static u16 ObjectEvent_GetID(ObjectEvent *objectEvent) {
|
||||
return objectEvent->id;
|
||||
}
|
||||
|
||||
static void ObjectEvent_SetSpriteID(ObjectEvent *objectEvent, u32 spriteId) {
|
||||
objectEvent->spriteId = spriteId;
|
||||
}
|
||||
|
||||
static u16 ObjectEvent_GetSpriteID(ObjectEvent *objectEvent) {
|
||||
return objectEvent->spriteId;
|
||||
}
|
||||
|
||||
static void ObjectEvent_SetMovement(ObjectEvent *objectEvent, u32 movement) {
|
||||
objectEvent->movement = movement;
|
||||
}
|
||||
|
||||
static u16 ObjectEvent_GetMovement(ObjectEvent *objectEvent) {
|
||||
return objectEvent->movement;
|
||||
}
|
||||
|
||||
static void ObjectEvent_SetType(ObjectEvent *objectEvent, u16 type) {
|
||||
objectEvent->type = type;
|
||||
}
|
||||
|
||||
static u16 ObjectEvent_GetType(ObjectEvent *objectEvent) {
|
||||
return objectEvent->type;
|
||||
}
|
||||
|
||||
static void ObjectEvent_SetEventFlag(ObjectEvent *objectEvent, u16 eventFlag) {
|
||||
objectEvent->eventFlag = eventFlag;
|
||||
}
|
||||
|
||||
static u16 ObjectEvent_GetEventFlag(ObjectEvent *objectEvent) {
|
||||
return objectEvent->eventFlag;
|
||||
}
|
||||
|
||||
static void ObjectEvent_SetScriptID(ObjectEvent *objectEvent, u16 scriptId) {
|
||||
objectEvent->scriptId = scriptId;
|
||||
}
|
||||
|
||||
static u16 ObjectEvent_GetScriptID(ObjectEvent *objectEvent) {
|
||||
return objectEvent->scriptId;
|
||||
}
|
||||
|
||||
static void ObjectEvent_SetFacingDirection(ObjectEvent *objectEvent, u32 facingDirection) {
|
||||
objectEvent->facingDirection = facingDirection;
|
||||
}
|
||||
|
||||
static s16 ObjectEvent_GetFacingDirection(ObjectEvent *objectEvent) {
|
||||
return objectEvent->facingDirection;
|
||||
}
|
||||
|
||||
static void ObjectEvent_SetParam(ObjectEvent *objectEvent, s32 value, u32 param) {
|
||||
switch (param) {
|
||||
case 0:
|
||||
objectEvent->param[0] = value;
|
||||
return;
|
||||
case 1:
|
||||
objectEvent->param[1] = value;
|
||||
return;
|
||||
case 2:
|
||||
objectEvent->param[2] = value;
|
||||
return;
|
||||
default:
|
||||
GF_ASSERT(FALSE);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
static u16 ObjectEvent_GetParam(ObjectEvent *objectEvent, u32 param) {
|
||||
switch (param) {
|
||||
case 0:
|
||||
return objectEvent->param[0];
|
||||
case 1:
|
||||
return objectEvent->param[1];
|
||||
case 2:
|
||||
return objectEvent->param[2];
|
||||
default:
|
||||
GF_ASSERT(FALSE);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static void ObjectEvent_SetXRange(ObjectEvent *objectEvent, s16 xRange) {
|
||||
objectEvent->xRange = xRange;
|
||||
}
|
||||
|
||||
static s16 ObjectEvent_GetXRange(ObjectEvent *objectEvent) {
|
||||
return objectEvent->xRange;
|
||||
}
|
||||
|
||||
static void ObjectEvent_SetYRange(ObjectEvent *objectEvent, s16 yRange) {
|
||||
objectEvent->yRange = yRange;
|
||||
}
|
||||
|
||||
static s16 ObjectEvent_GetYRange(ObjectEvent *objectEvent) {
|
||||
return objectEvent->yRange;
|
||||
}
|
||||
|
||||
static void ObjectEvent_SetXCoord(ObjectEvent *objectEvent, u32 x) {
|
||||
objectEvent->x = x;
|
||||
}
|
||||
|
||||
static u16 ObjectEvent_GetXCoord(ObjectEvent *objectEvent) {
|
||||
return objectEvent->x;
|
||||
}
|
||||
|
||||
static void ObjectEvent_SetYCoord(ObjectEvent *objectEvent, u32 y) {
|
||||
objectEvent->y = y;
|
||||
}
|
||||
|
||||
static u32 ObjectEvent_GetYCoord(ObjectEvent *objectEvent) {
|
||||
return objectEvent->y;
|
||||
}
|
||||
|
||||
static void ObjectEvent_SetZCoord(ObjectEvent *objectEvent, u32 z) {
|
||||
objectEvent->z = z;
|
||||
}
|
||||
|
||||
static u16 ObjectEvent_GetZCoord(ObjectEvent *objectEvent) {
|
||||
return objectEvent->z;
|
||||
}
|
||||
|
||||
static ObjectEvent *ObjectEvent_GetByID(u16 id, s32 objectEventCount, ObjectEvent *objectEvents) {
|
||||
s32 i = 0;
|
||||
ObjectEvent *objectEvent = objectEvents;
|
||||
do {
|
||||
if (!ObjectEvent_ScriptIDIsUnset(objectEvent) && id == ObjectEvent_GetID(objectEvent)) {
|
||||
return objectEvents + i;
|
||||
}
|
||||
|
||||
i++;
|
||||
objectEvent++;
|
||||
} while (i < objectEventCount);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static BOOL ObjectEvent_ScriptIDIsUnset(ObjectEvent *objectEvent) {
|
||||
// casts required to match
|
||||
u16 script = (u16)(u32)ObjectEvent_GetScriptID(objectEvent);
|
||||
return script == 0xFFFF;
|
||||
}
|
||||
|
||||
static u16 ObjectEvent_GetEventFlag_AssertScriptIDIsUnset(ObjectEvent *template) {
|
||||
GF_ASSERT(ObjectEvent_ScriptIDIsUnset(template) == TRUE);
|
||||
return ObjectEvent_GetEventFlag(template);
|
||||
}
|
||||
|
||||
static UnkLMOCallbackStruct *sub_02058D14(u32 movement) {
|
||||
GF_ASSERT(movement < NELEMS(UNK_020F6364));
|
||||
return UNK_020F6364[movement];
|
||||
}
|
||||
|
||||
static LocalMapObject_UnkCallback sub_02058D2C(UnkLMOCallbackStruct *callbackStruct) {
|
||||
return callbackStruct->unk4;
|
||||
}
|
||||
|
||||
static LocalMapObject_UnkCallback sub_02058D30(UnkLMOCallbackStruct *callbackStruct) {
|
||||
return callbackStruct->unk8;
|
||||
}
|
||||
|
||||
static LocalMapObject_UnkCallback sub_02058D34(UnkLMOCallbackStruct *callbackStruct) {
|
||||
return callbackStruct->unkC;
|
||||
}
|
||||
|
||||
static LocalMapObject_UnkCallback sub_02058D38(UnkLMOCallbackStruct2 *callbackStruct) {
|
||||
return callbackStruct->unk0;
|
||||
}
|
||||
|
||||
static LocalMapObject_UnkCallback sub_02058D3C(UnkLMOCallbackStruct2 *callbackStruct) {
|
||||
return callbackStruct->unk4;
|
||||
}
|
||||
|
||||
static LocalMapObject_UnkCallback sub_02058D40(UnkLMOCallbackStruct2 *callbackStruct) {
|
||||
return callbackStruct->unk8;
|
||||
}
|
||||
|
||||
static LocalMapObject_UnkCallback sub_02058D44(UnkLMOCallbackStruct2 *callbackStruct) {
|
||||
return callbackStruct->unkC;
|
||||
}
|
||||
|
||||
static LocalMapObject_UnkCallback sub_02058D48(UnkLMOCallbackStruct2 *callbackStruct) {
|
||||
return callbackStruct->unk10;
|
||||
}
|
||||
|
||||
static UnkLMOCallbackStruct2 *sub_02058D4C(u32 spriteId) {
|
||||
UnkLMOCallbackStruct3 *array = ov05_021F9494;
|
||||
do {
|
||||
if (array[0].spriteId == spriteId) {
|
||||
return array[0].callbackStruct;
|
||||
}
|
||||
array++;
|
||||
} while (array[0].spriteId != 0xFFFF);
|
||||
|
||||
GF_ASSERT(FALSE);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
LocalMapObject *MapObjectManager_GetFirstObjectWithXAndZ(MapObjectManager *manager, u32 x, u32 z) {
|
||||
u32 count = MapObjectManager_GetObjectCount(manager);
|
||||
LocalMapObject *objects = MapObjectManager_GetObjects(manager);
|
||||
|
||||
do {
|
||||
if (MapObject_GetFlagsBitsMask(objects, MAPOBJECTFLAG_ACTIVE) != 0) {
|
||||
if (x == MapObject_GetCurrentX(objects) && z == MapObject_GetCurrentZ(objects)) {
|
||||
return objects;
|
||||
}
|
||||
}
|
||||
|
||||
objects++;
|
||||
count--;
|
||||
} while (count > 0);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void LocalMapObject_SetPositionFromVectorAndDirection(LocalMapObject *object, VecFx32 *positionVector, u32 direction) {
|
||||
MapObject_SetCurrentX(object, (positionVector->x >> 4) / FX32_ONE);
|
||||
MapObject_SetCurrentY(object, (positionVector->y >> 3) / FX32_ONE);
|
||||
MapObject_SetCurrentZ(object, (positionVector->z >> 4) / FX32_ONE);
|
||||
MapObject_SetPositionVector(object, positionVector);
|
||||
sub_02059C60(object);
|
||||
MapObject_SetFacingDirectionDirect(object, direction);
|
||||
MapObject_ClearHeldMovement(object);
|
||||
MapObject_SetFlagsBits(object, MAPOBJECTFLAG_UNK2);
|
||||
MapObject_ClearFlagsBits(object, (MapObjectFlagBits)(MAPOBJECTFLAG_UNK3 | MAPOBJECTFLAG_SINGLE_MOVEMENT));
|
||||
}
|
||||
|
||||
void MapObject_SetPositionFromXYZAndDirection(LocalMapObject *object, u32 x, u32 y, u32 z, u32 direction) {
|
||||
VecFx32 positionVector;
|
||||
positionVector.x = x * (16 * FX32_ONE) + (8 * FX32_ONE);
|
||||
MapObject_SetCurrentX(object, x);
|
||||
positionVector.y = y * (8 * FX32_ONE);
|
||||
MapObject_SetCurrentY(object, y);
|
||||
positionVector.z = z * (16 * FX32_ONE) + (8 * FX32_ONE);
|
||||
MapObject_SetCurrentZ(object, z);
|
||||
|
||||
MapObject_SetPositionVector(object, &positionVector);
|
||||
sub_02059C60(object);
|
||||
MapObject_SetFacingDirectionDirect(object, direction);
|
||||
MapObject_SetFlagsBits(object, MAPOBJECTFLAG_UNK2);
|
||||
MapObject_ClearFlagsBits(object, (MapObjectFlagBits)(MAPOBJECTFLAG_UNK3 | MAPOBJECTFLAG_SINGLE_MOVEMENT));
|
||||
MapObject_ClearHeldMovement(object);
|
||||
}
|
||||
|
||||
void sub_02058E90(LocalMapObject *object, u32 movement) {
|
||||
sub_02058660(object);
|
||||
MapObject_SetMovement(object, movement);
|
||||
sub_02057EE0(object);
|
||||
sub_02058EE8(object);
|
||||
}
|
||||
|
||||
void sub_02058EB0(LocalMapObject *object, u32 id) {
|
||||
MapObject_SetID(object, id);
|
||||
MapObject_SetFlag2(object);
|
||||
sub_0205815C(object);
|
||||
}
|
||||
|
||||
void sub_02058EC8(LocalMapObject *object) {
|
||||
}
|
||||
|
||||
void sub_02058ECC(LocalMapObject *object) {
|
||||
}
|
||||
|
||||
void sub_02058ED0(LocalMapObject *object) {
|
||||
}
|
||||
|
||||
void sub_02058ED4(LocalMapObject *object) {
|
||||
}
|
||||
|
||||
void sub_02058ED8(LocalMapObject *object) {
|
||||
}
|
||||
|
||||
void sub_02058EDC(LocalMapObject *object) {
|
||||
}
|
||||
|
||||
void sub_02058EE0(LocalMapObject *object) {
|
||||
}
|
||||
|
||||
void sub_02058EE4(LocalMapObject *object) {
|
||||
}
|
||||
|
||||
@@ -97,16 +97,13 @@ extern LocalMapObject *sub_0205E7C4(LocalMapObject *event);
|
||||
extern u32 sub_02034B64(FieldSystem *fieldSystem);
|
||||
extern const ObjectEvent *sub_02034B6C(FieldSystem *fieldSystem);
|
||||
extern u32 sub_02059D1C(LocalMapObject *target);
|
||||
extern VecFx32 *sub_02058B7C(LocalMapObject *target);
|
||||
extern VecFx32 *MapObject_GetPositionVector(LocalMapObject *target);
|
||||
extern void ov05_021EF5E0(VecFx32 *target, u32 param1);
|
||||
extern u32 PlayerAvatar_GetFacingDirection(PlayerAvatar *playerAvatar);
|
||||
extern u32 sub_02059E74(u32 direction);
|
||||
extern void ov05_021F1EC0(LocalMapObject *event, u32 param1);
|
||||
extern u16 GetPlayerXCoord(PlayerAvatar *playerAvatar);
|
||||
extern u16 GetPlayerYCoord(PlayerAvatar *playerAvatar);
|
||||
extern void sub_02058BB4(LocalMapObject *event, VecFx32 *param1);
|
||||
extern void sub_02058E90(LocalMapObject *event, u16 movement);
|
||||
extern void sub_02058EB0(LocalMapObject *event, u32 param1);
|
||||
extern u16 sub_02029E0C(SealCase *sealCase);
|
||||
extern u16 SealCase_CountSealOccurrenceAnywhere(SealCase *sealCase, u16 sealId);
|
||||
extern void sub_02029D44(SealCase *sealCase, u16 sealId, s16 amount);
|
||||
@@ -243,7 +240,6 @@ extern void sub_02050048(void);
|
||||
extern void sub_0204FF5C(FieldSystem *fieldSystem);
|
||||
extern void sub_0204F6DC(u16 param0);
|
||||
extern void SetEventDefaultXYPos(FieldSystem *fieldSystem, u16 objectId, u16 x, u16 y);
|
||||
extern void sub_02058E28(LocalMapObject *object, u16 x, u16 z, u16 y, u16 direction);
|
||||
extern void SetEventDefaultDirection(FieldSystem *fieldSystem, u16 objectId, u16 direction);
|
||||
extern void SetWarpXYPos(FieldSystem *fieldSystem, u16 warpId, u16 x, u16 y);
|
||||
extern void SetBgEventXYPos(FieldSystem *fieldSystem, u16 bgEventId, u16 x, u16 y);
|
||||
@@ -1770,7 +1766,7 @@ BOOL ScrCmd_LockCamera(ScriptContext *ctx) { // 0066
|
||||
sub_02059D1C(*targetPtr);
|
||||
MapObject_SetVisible(*targetPtr, TRUE);
|
||||
MapObject_ClearFlag18(*targetPtr, FALSE);
|
||||
VecFx32 *position = sub_02058B7C(*targetPtr);
|
||||
VecFx32 *position = MapObject_GetPositionVector(*targetPtr);
|
||||
ov05_021EF5E0(position, ctx->fieldSystem->unk24);
|
||||
Camera_SetFixedTarget(position, ctx->fieldSystem->camera);
|
||||
return FALSE;
|
||||
@@ -1779,7 +1775,7 @@ BOOL ScrCmd_LockCamera(ScriptContext *ctx) { // 0066
|
||||
BOOL ScrCmd_ReleaseCamera(ScriptContext *ctx) { // 0067
|
||||
LocalMapObject **targetPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_CAMERA_TARGET);
|
||||
MapObject_Remove(*targetPtr);
|
||||
VecFx32 *position = sub_02058B7C(MapObjectManager_GetFirstActiveObjectByID(ctx->fieldSystem->mapObjectManager, 0xff));
|
||||
VecFx32 *position = MapObject_GetPositionVector(MapObjectManager_GetFirstActiveObjectByID(ctx->fieldSystem->mapObjectManager, 0xff));
|
||||
ov05_021EF5E0(position, ctx->fieldSystem->unk24);
|
||||
Camera_SetFixedTarget(position, ctx->fieldSystem->camera);
|
||||
return FALSE;
|
||||
@@ -3255,7 +3251,7 @@ BOOL ScrCmd_SetEventPosition(ScriptContext *ctx) { // 0187
|
||||
u16 y = ScriptGetVar(ctx);
|
||||
u16 direction = ScriptGetVar(ctx);
|
||||
LocalMapObject *object = MapObjectManager_GetFirstActiveObjectByID(ctx->fieldSystem->mapObjectManager, eventId);
|
||||
sub_02058E28(object, x, z, y, direction);
|
||||
MapObject_SetPositionFromXYZAndDirection(object, x, z, y, direction);
|
||||
sub_02059D1C(object);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -3,5 +3,6 @@
|
||||
|
||||
typedef struct LocalMapObject LocalMapObject;
|
||||
typedef struct MapObjectManager MapObjectManager;
|
||||
typedef struct ObjectEvent ObjectEvent;
|
||||
|
||||
#endif // POKEDIAMOND_FIELD_TYPES_DEF_H
|
||||
|
||||
@@ -79,7 +79,10 @@ struct LocalMapObject {
|
||||
u32 currentX;
|
||||
s32 currentY;
|
||||
u32 currentZ;
|
||||
u8 padding[0x30];
|
||||
VecFx32 positionVector;
|
||||
VecFx32 facingVector;
|
||||
VecFx32 unk88;
|
||||
VecFx32 unk94;
|
||||
u32 unkA0;
|
||||
u32 movementCmd;
|
||||
u32 movementStep;
|
||||
@@ -101,13 +104,22 @@ struct LocalMapObject {
|
||||
u8 unk108[0x20];
|
||||
};
|
||||
|
||||
typedef struct ObjectEvent {
|
||||
u8 padding[0x8];
|
||||
u16 flag;
|
||||
u8 padding2[0x16];
|
||||
// todo fill out
|
||||
struct ObjectEvent {
|
||||
u16 id;
|
||||
u16 spriteId;
|
||||
u16 movement;
|
||||
u16 type;
|
||||
u16 eventFlag;
|
||||
u16 scriptId;
|
||||
s16 facingDirection;
|
||||
u16 param[3];
|
||||
s16 xRange;
|
||||
s16 yRange;
|
||||
u16 x;
|
||||
u16 z;
|
||||
s32 y;
|
||||
// todo this should be in map_events_internal.h
|
||||
} ObjectEvent;
|
||||
};
|
||||
|
||||
typedef enum MapObjectFlagBits {
|
||||
MAPOBJECTFLAG_ACTIVE = (1 << 0),
|
||||
@@ -179,6 +191,11 @@ typedef struct UnkLMOCallbackStruct2 {
|
||||
LocalMapObject_UnkCallback unk10;
|
||||
} UnkLMOCallbackStruct2;
|
||||
|
||||
typedef struct UnkLMOCallbackStruct3 {
|
||||
u32 spriteId;
|
||||
UnkLMOCallbackStruct2 *callbackStruct;
|
||||
} UnkLMOCallbackStruct3;
|
||||
|
||||
MapObjectManager *MapObjectManager_Init(FieldSystem *fieldSystem, u32 objectCount, u32 priority);
|
||||
void MapObjectManager_Delete(MapObjectManager *manager);
|
||||
void sub_020573C8(MapObjectManager *manager, u32 unused, u32 mapId, u32 objectCount, ObjectEvent *objectEvents);
|
||||
@@ -328,5 +345,29 @@ void MapObject_AddCurrentY(LocalMapObject *object, s32 currentY);
|
||||
u32 MapObject_GetCurrentZ(LocalMapObject *object);
|
||||
void MapObject_SetCurrentZ(LocalMapObject *object, u32 currentZ);
|
||||
void MapObject_AddCurrentZ(LocalMapObject *object, u32 currentZ);
|
||||
void MapObject_CopyPositionVector(LocalMapObject *object, VecFx32 *positionVector);
|
||||
void MapObject_SetPositionVector(LocalMapObject *object, VecFx32 *positionVector);
|
||||
VecFx32 *MapObject_GetPositionVector(LocalMapObject *object);
|
||||
fx32 MapObject_GetPositionVectorYCoord(LocalMapObject *object);
|
||||
void MapObject_CopyFacingVector(LocalMapObject *object, VecFx32 *facingVector);
|
||||
void MapObject_SetFacingVector(LocalMapObject *object, VecFx32 *facingVector);
|
||||
void sub_02058BA4(LocalMapObject *object, VecFx32 *vector);
|
||||
void sub_02058BB4(LocalMapObject *object, VecFx32 *vector);
|
||||
void sub_02058BC4(LocalMapObject *object, VecFx32 *vector);
|
||||
void sub_02058BD4(LocalMapObject *object, VecFx32 *vector);
|
||||
u32 MapObject_GetPositionVectorYCoordUInt(LocalMapObject *object);
|
||||
LocalMapObject *MapObjectManager_GetFirstObjectWithXAndZ(MapObjectManager *manager, u32 x, u32 z);
|
||||
void LocalMapObject_SetPositionFromVectorAndDirection(LocalMapObject *object, VecFx32 *positionVector, u32 direction);
|
||||
void MapObject_SetPositionFromXYZAndDirection(LocalMapObject *object, u32 x, u32 y, u32 z, u32 direction);
|
||||
void sub_02058E90(LocalMapObject *object, u32 movement);
|
||||
void sub_02058EB0(LocalMapObject *object, u32 id);
|
||||
void sub_02058EC8(LocalMapObject *object);
|
||||
void sub_02058ECC(LocalMapObject *object);
|
||||
void sub_02058ED0(LocalMapObject *object);
|
||||
void sub_02058ED4(LocalMapObject *object);
|
||||
void sub_02058ED8(LocalMapObject *object);
|
||||
void sub_02058EDC(LocalMapObject *object);
|
||||
void sub_02058EE0(LocalMapObject *object);
|
||||
void sub_02058EE4(LocalMapObject *object);
|
||||
|
||||
#endif // POKEDIAMOND_MAP_OBJECT_H
|
||||
|
||||
Reference in New Issue
Block a user