mirror of
https://github.com/pret/pokediamond.git
synced 2026-03-21 17:54:29 -05:00
Merge pull request #567 from red031000/master
Some checks failed
build / build (push) Has been cancelled
Some checks failed
build / build (push) Has been cancelled
decompile player_avatar
This commit is contained in:
commit
69a73ea442
|
|
@ -213,7 +213,7 @@ Static arm9
|
|||
Object text_02054590.o
|
||||
Object unk_0205478C.o
|
||||
Object unk_02054C14.o
|
||||
Object unk_02055068.o
|
||||
Object player_avatar.o
|
||||
Object unk_020557F4.o
|
||||
Object map_object.o
|
||||
Object unk_02058EE8.o
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ sub_02034D98: ; 0x02034D98
|
|||
bl sub_0204ADE0
|
||||
add r0, r4, #0x0
|
||||
add r0, #0x8c
|
||||
bl sub_02055468
|
||||
bl PlayerSaveData_Init
|
||||
bl GetMomSpawnId
|
||||
add r4, #0x68
|
||||
strh r0, [r4, #0x0]
|
||||
|
|
|
|||
|
|
@ -13,10 +13,10 @@ sub_02036FA4: ; 0x02036FA4
|
|||
bl PlayerAvatar_GetFacingDirection
|
||||
add r7, r0, #0x0
|
||||
ldr r0, [r6, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
str r0, [r4, #0x0]
|
||||
ldr r0, [r6, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
str r0, [r5, #0x0]
|
||||
cmp r7, #0x3
|
||||
bhi _02036FFA
|
||||
|
|
|
|||
|
|
@ -331,11 +331,11 @@ sub_02037264: ; 0x02037264
|
|||
ldr r0, [r0, #0x38]
|
||||
str r1, [sp, #0x4]
|
||||
str r2, [sp, #0x8]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r6, r0, #0x0
|
||||
ldr r0, [sp, #0x0]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r4, r0, #0x0
|
||||
ldr r0, [sp, #0x8]
|
||||
mov r7, #0x0
|
||||
|
|
|
|||
|
|
@ -2341,11 +2341,11 @@ _02039786:
|
|||
_020397A0:
|
||||
ldr r0, [sp, #0x0]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
str r0, [sp, #0x18]
|
||||
ldr r0, [sp, #0x0]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
str r0, [sp, #0x14]
|
||||
ldr r0, [sp, #0x18]
|
||||
sub r0, r0, #0x7
|
||||
|
|
|
|||
|
|
@ -71,10 +71,10 @@ _02046096: ; jump table (using 16-bit offset)
|
|||
.short _020461E4 - _02046096 - 2; case 11
|
||||
_020460AE:
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
strh r0, [r4, #0x4]
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
strh r0, [r4, #0x6]
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x1
|
||||
|
|
|
|||
|
|
@ -283,7 +283,7 @@ sub_02048AE4: ; 0x02048AE4
|
|||
ldr r1, [r3, #0x8]
|
||||
ldr r2, [r3, #0xc]
|
||||
ldr r3, [r3, #0x10]
|
||||
bl sub_02055068
|
||||
bl PlayerAvatar_CreateWithParams
|
||||
str r0, [r5, #0x38]
|
||||
add r0, r5, #0x0
|
||||
bl sub_02034AC8
|
||||
|
|
@ -299,7 +299,7 @@ sub_02048B34: ; 0x02048B34
|
|||
add r4, r0, #0x0
|
||||
bl sub_0204CC48
|
||||
ldr r0, [r4, #0x38]
|
||||
bl sub_02055160
|
||||
bl PlayerAvatar_FreeToHeap
|
||||
ldr r0, [r4, #0x34]
|
||||
bl MapObjectManager_RemoveAllActiveObjects
|
||||
ldr r0, [r4, #0x34]
|
||||
|
|
@ -326,7 +326,7 @@ sub_02048B50: ; 0x02048B50
|
|||
add r2, r0, #0x0
|
||||
ldr r0, [r5, #0x34]
|
||||
add r1, r4, #0x0
|
||||
bl sub_020550A4
|
||||
bl PlayerAvatar_CreateWithActiveMapObject
|
||||
str r0, [r5, #0x38]
|
||||
ldr r0, [r5, #0x34]
|
||||
bl sub_02058768
|
||||
|
|
@ -483,10 +483,10 @@ sub_02048CB0: ; 0x02048CB0
|
|||
add r4, r1, #0x0
|
||||
add r5, r0, #0x0
|
||||
ldr r0, [r4, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r6, r0, #0x0
|
||||
ldr r0, [r4, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
ldr r1, [r4, #0x1c]
|
||||
ldr r1, [r1, #0x0]
|
||||
str r1, [r5, #0x0]
|
||||
|
|
|
|||
|
|
@ -507,10 +507,10 @@ sub_0204B70C: ; 0x0204B70C
|
|||
add r7, r0, #0x0
|
||||
ldr r0, [r7, #0x38]
|
||||
add r5, r2, #0x0
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r6, r0, #0x0
|
||||
ldr r0, [r7, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r4, r0, #0x0
|
||||
cmp r5, #0x2
|
||||
bne _0204B72A
|
||||
|
|
@ -562,10 +562,10 @@ sub_0204B770: ; 0x0204B770
|
|||
add r5, r0, #0x0
|
||||
ldr r0, [r5, #0x38]
|
||||
add r6, r1, #0x0
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r4, r0, #0x0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r2, r0, #0x0
|
||||
cmp r6, #0x2
|
||||
bne _0204B78E
|
||||
|
|
@ -588,10 +588,10 @@ sub_0204B7A0: ; 0x0204B7A0
|
|||
add r5, r0, #0x0
|
||||
ldr r0, [r5, #0x38]
|
||||
add r6, r1, #0x0
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r7, r0, #0x0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r4, r0, #0x0
|
||||
ldr r0, [r6, #0x4]
|
||||
cmp r0, #0x0
|
||||
|
|
@ -767,7 +767,7 @@ _0204B8F6:
|
|||
bne _0204B910
|
||||
ldr r0, [r5, #0x38]
|
||||
mov r1, #0x0
|
||||
bl sub_02055304
|
||||
bl PlayerAvatar_SetFacingDirection
|
||||
mov r0, #0x4
|
||||
str r0, [r4, #0x0]
|
||||
b _0204B98E
|
||||
|
|
@ -789,7 +789,7 @@ _0204B922:
|
|||
ble _0204B98E
|
||||
ldr r0, [r5, #0x38]
|
||||
ldr r1, [r4, #0x4]
|
||||
bl sub_02055304
|
||||
bl PlayerAvatar_SetFacingDirection
|
||||
mov r0, #0x4
|
||||
str r0, [r4, #0x0]
|
||||
b _0204B98E
|
||||
|
|
@ -814,14 +814,14 @@ _0204B93A:
|
|||
_0204B964:
|
||||
ldr r0, [r5, #0x38]
|
||||
ldr r1, [r4, #0x4]
|
||||
bl sub_02055304
|
||||
bl PlayerAvatar_SetFacingDirection
|
||||
mov r0, #0x4
|
||||
str r0, [r4, #0x0]
|
||||
b _0204B98E
|
||||
_0204B972:
|
||||
ldr r0, [r5, #0x38]
|
||||
ldr r1, [r4, #0x4]
|
||||
bl sub_02055304
|
||||
bl PlayerAvatar_SetFacingDirection
|
||||
ldr r0, [r5, #0x38]
|
||||
bl PlayerAvatar_GetMapObject
|
||||
bl MapObject_PauseMovement
|
||||
|
|
@ -865,7 +865,7 @@ sub_0204B9CC: ; 0x0204B9CC
|
|||
add r4, r0, #0x0
|
||||
ldr r0, [r4, #0x38]
|
||||
bl PlayerAvatar_GetState
|
||||
bl sub_02055648
|
||||
bl PlayerAvatar_GetTransitionBits
|
||||
add r1, r0, #0x0
|
||||
ldr r0, [r4, #0x38]
|
||||
bl Field_PlayerAvatar_OrrTransitionFlags
|
||||
|
|
|
|||
|
|
@ -418,10 +418,10 @@ _0204C4D0:
|
|||
bl ov05_021DA5B8
|
||||
str r0, [r4, #0x1c]
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r6, r0, #0x0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r1, r0, #0x0
|
||||
ldr r2, [r4, #0x1c]
|
||||
add r0, r6, #0x0
|
||||
|
|
@ -478,10 +478,10 @@ _0204C54A:
|
|||
bl ov05_021DA5B8
|
||||
str r0, [r4, #0x1c]
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r6, r0, #0x0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r1, r0, #0x0
|
||||
ldr r2, [r4, #0x1c]
|
||||
add r0, r6, #0x0
|
||||
|
|
@ -696,10 +696,10 @@ _0204C700:
|
|||
bl PlayerAvatar_GetMapObject
|
||||
add r7, r0, #0x0
|
||||
ldr r0, [r4, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
str r0, [sp, #0x0]
|
||||
ldr r0, [r4, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r2, r0, #0x0
|
||||
ldr r1, [sp, #0x0]
|
||||
add r0, r4, #0x0
|
||||
|
|
@ -726,10 +726,10 @@ _0204C74A:
|
|||
bl ov05_021DA5B8
|
||||
str r0, [r5, #0x1c]
|
||||
ldr r0, [r4, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r6, r0, #0x0
|
||||
ldr r0, [r4, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r1, r0, #0x0
|
||||
ldr r2, [r5, #0x1c]
|
||||
add r0, r6, #0x0
|
||||
|
|
@ -782,10 +782,10 @@ _0204C7BE:
|
|||
bl PlayerAvatar_GetMapObject
|
||||
add r7, r0, #0x0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
str r0, [sp, #0x0]
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r2, r0, #0x0
|
||||
ldr r1, [sp, #0x0]
|
||||
add r0, r5, #0x0
|
||||
|
|
@ -844,10 +844,10 @@ _0204C846:
|
|||
bl ov05_021DA5B8
|
||||
str r0, [r4, #0x1c]
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r6, r0, #0x0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r1, r0, #0x0
|
||||
ldr r2, [r4, #0x1c]
|
||||
add r0, r6, #0x0
|
||||
|
|
@ -1007,7 +1007,7 @@ sub_0204C984: ; 0x0204C984
|
|||
add r4, r0, #0x0
|
||||
ldr r0, [r5, #0x38]
|
||||
add r1, sp, #0x4
|
||||
bl sub_02055350
|
||||
bl PlayerAvatar_CopyPositionVector
|
||||
cmp r4, #0x3
|
||||
bne _0204C9AA
|
||||
mov r0, #0x1
|
||||
|
|
@ -1036,11 +1036,11 @@ _0204C9B4:
|
|||
add r2, r4, #0x0
|
||||
bl sub_020554EC
|
||||
ldr r0, [r5, #0x38]
|
||||
bl sub_02055360
|
||||
bl PlayerAvatar_GetPositionVector
|
||||
ldr r1, [r5, #0x20]
|
||||
bl Camera_SetLookAtTargetAndRecalcPos
|
||||
ldr r0, [r5, #0x38]
|
||||
bl sub_02055360
|
||||
bl PlayerAvatar_GetPositionVector
|
||||
ldr r1, [r5, #0x20]
|
||||
bl Camera_SetFixedTarget
|
||||
add sp, #0x10
|
||||
|
|
@ -1056,12 +1056,12 @@ sub_0204C9EC: ; 0x0204C9EC
|
|||
add r4, r0, #0x0
|
||||
ldr r0, [r5, #0x38]
|
||||
add r1, sp, #0x4
|
||||
bl sub_02055350
|
||||
bl PlayerAvatar_CopyPositionVector
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r6, r0, #0x0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r2, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r1, r6, #0x0
|
||||
|
|
@ -1102,11 +1102,11 @@ _0204CA48:
|
|||
add r2, r4, #0x0
|
||||
bl sub_020554EC
|
||||
ldr r0, [r5, #0x38]
|
||||
bl sub_02055360
|
||||
bl PlayerAvatar_GetPositionVector
|
||||
ldr r1, [r5, #0x20]
|
||||
bl Camera_SetLookAtTargetAndRecalcPos
|
||||
ldr r0, [r5, #0x38]
|
||||
bl sub_02055360
|
||||
bl PlayerAvatar_GetPositionVector
|
||||
ldr r1, [r5, #0x20]
|
||||
bl Camera_SetFixedTarget
|
||||
add sp, #0x10
|
||||
|
|
|
|||
|
|
@ -251,12 +251,12 @@ sub_0204CC9C: ; 0x0204CC9C
|
|||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0x54]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
ldr r0, _0204CCD8 ; =UNK_021C5A68
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0x54]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
_0204CCD6:
|
||||
pop {r3, pc}
|
||||
.balign 4
|
||||
|
|
@ -402,7 +402,7 @@ _0204CDD4:
|
|||
ldrb r1, [r1, r2]
|
||||
cmp r1, #0x0
|
||||
beq _0204CDF2
|
||||
bl sub_02055168
|
||||
bl PlayerAvatar_DeleteFromMap
|
||||
_0204CDF2:
|
||||
ldr r0, [r6, #0x0]
|
||||
add r1, r0, r7
|
||||
|
|
@ -606,7 +606,7 @@ sub_0204CF60: ; 0x0204CF60
|
|||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0x54]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
ldr r1, _0204D03C ; =UNK_021C5A68
|
||||
ldr r2, [r1, #0x0]
|
||||
lsl r1, r4, #0x3
|
||||
|
|
@ -619,7 +619,7 @@ sub_0204CF60: ; 0x0204CF60
|
|||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0x54]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
ldr r1, _0204D03C ; =UNK_021C5A68
|
||||
ldr r2, [r1, #0x0]
|
||||
lsl r1, r4, #0x3
|
||||
|
|
@ -645,7 +645,7 @@ sub_0204CF60: ; 0x0204CF60
|
|||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0x54]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
ldr r1, _0204D03C ; =UNK_021C5A68
|
||||
ldr r2, [r1, #0x0]
|
||||
lsl r1, r4, #0x3
|
||||
|
|
@ -658,7 +658,7 @@ sub_0204CF60: ; 0x0204CF60
|
|||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0x54]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
ldr r1, _0204D03C ; =UNK_021C5A68
|
||||
ldr r2, [r1, #0x0]
|
||||
lsl r1, r4, #0x3
|
||||
|
|
@ -839,13 +839,13 @@ sub_0204D168: ; 0x0204D168
|
|||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0x54]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r4, r0, #0x0
|
||||
ldr r0, _0204D194 ; =UNK_021C5A68
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0x54]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r2, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
|
|
@ -953,13 +953,13 @@ sub_0204D248: ; 0x0204D248
|
|||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0x54]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_02055370
|
||||
bl PlayerAvatar_GetUnk10
|
||||
add r4, r0, #0x0
|
||||
ldr r0, _0204D2A8 ; =UNK_021C5A68
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0x54]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_02055378
|
||||
bl PlayerAvatar_GetUnk14
|
||||
add r5, r0, #0x0
|
||||
cmp r4, #0x0
|
||||
bne _0204D292
|
||||
|
|
@ -1126,7 +1126,7 @@ _0204D37C:
|
|||
ldrh r2, [r2, #0x0]
|
||||
ldrsb r3, [r7, r3]
|
||||
ldr r0, [r0, #0x34]
|
||||
bl sub_02055068
|
||||
bl PlayerAvatar_CreateWithParams
|
||||
add r7, r0, #0x0
|
||||
bne _0204D3B2
|
||||
bl GF_AssertFail
|
||||
|
|
@ -1232,10 +1232,10 @@ sub_0204D43C: ; 0x0204D43C
|
|||
cmp r7, #0x0
|
||||
beq _0204D484
|
||||
_0204D47E:
|
||||
bl sub_02055168
|
||||
bl PlayerAvatar_DeleteFromMap
|
||||
b _0204D488
|
||||
_0204D484:
|
||||
bl sub_02055160
|
||||
bl PlayerAvatar_FreeToHeap
|
||||
_0204D488:
|
||||
ldr r0, _0204D4CC ; =UNK_021C5A68
|
||||
mov r1, #0x0
|
||||
|
|
@ -2424,7 +2424,7 @@ _0204DD5E:
|
|||
ldr r0, [r0, #0x0]
|
||||
add r0, r0, r7
|
||||
ldr r0, [r0, #0x8]
|
||||
bl sub_02055304
|
||||
bl PlayerAvatar_SetFacingDirection
|
||||
add r0, r4, #0x0
|
||||
mov r1, #0x80
|
||||
bl MapObject_SetFlagsBits
|
||||
|
|
@ -2543,12 +2543,12 @@ _0204DE86:
|
|||
bne _0204DE98
|
||||
b _0204E068
|
||||
_0204DE98:
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
ldrh r1, [r5, #0x0]
|
||||
sub r0, r0, r1
|
||||
str r0, [sp, #0x10]
|
||||
ldr r0, [sp, #0x18]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
ldrh r1, [r5, #0x2]
|
||||
sub r7, r0, r1
|
||||
ldr r0, [sp, #0x18]
|
||||
|
|
@ -5707,7 +5707,7 @@ sub_0204F6DC: ; 0x0204F6DC
|
|||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0x54]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_02055304
|
||||
bl PlayerAvatar_SetFacingDirection
|
||||
bl sub_02031190
|
||||
ldr r1, _0204F708 ; =UNK_021C5A68
|
||||
lsl r0, r0, #0x3
|
||||
|
|
@ -5734,7 +5734,7 @@ sub_0204F70C: ; 0x0204F70C
|
|||
ldr r2, [r3, #0x0]
|
||||
add r0, r2, r0
|
||||
ldr r0, [r0, #0x8]
|
||||
bl sub_02055304
|
||||
bl PlayerAvatar_SetFacingDirection
|
||||
pop {r4, pc}
|
||||
.balign 4
|
||||
_0204F728: .word UNK_021C5A68
|
||||
|
|
|
|||
|
|
@ -410,11 +410,11 @@ sub_020531E4: ; 0x020531E4
|
|||
str r0, [sp, #0x0]
|
||||
ldr r0, [r0, #0x8]
|
||||
str r1, [sp, #0x4]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
str r0, [sp, #0xc]
|
||||
ldr r0, [sp, #0x0]
|
||||
ldr r0, [r0, #0x8]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
ldr r4, [sp, #0x0]
|
||||
str r0, [sp, #0x8]
|
||||
add r6, r4, #0x0
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ _02053786:
|
|||
ldr r0, [r4, #0x0]
|
||||
mov r1, #0x0
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_0205537C
|
||||
bl PlayerAvatar_ToggleVisible
|
||||
mov r0, #0x6
|
||||
lsl r0, r0, #0x6
|
||||
ldr r1, [r4, r0]
|
||||
|
|
@ -292,7 +292,7 @@ _020538FA:
|
|||
ldr r0, [r4, #0x0]
|
||||
mov r1, #0x0
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_0205537C
|
||||
bl PlayerAvatar_ToggleVisible
|
||||
mov r0, #0x6
|
||||
lsl r0, r0, #0x6
|
||||
ldr r1, [r4, r0]
|
||||
|
|
@ -380,7 +380,7 @@ _020539A2:
|
|||
ldr r0, [r4, #0x0]
|
||||
mov r1, #0x1
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_0205537C
|
||||
bl PlayerAvatar_ToggleVisible
|
||||
add sp, #0x10
|
||||
pop {r3-r5, pc}
|
||||
_020539C4:
|
||||
|
|
@ -448,7 +448,7 @@ _02053A36:
|
|||
ldr r0, [r4, #0x0]
|
||||
mov r1, #0x0
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_0205537C
|
||||
bl PlayerAvatar_ToggleVisible
|
||||
mov r0, #0x6
|
||||
lsl r0, r0, #0x6
|
||||
ldr r1, [r4, r0]
|
||||
|
|
@ -613,7 +613,7 @@ _02053B76:
|
|||
ldr r0, [r4, #0x0]
|
||||
mov r1, #0x0
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_0205537C
|
||||
bl PlayerAvatar_ToggleVisible
|
||||
mov r1, #0x57
|
||||
lsl r1, r1, #0x2
|
||||
add r0, r4, #0x0
|
||||
|
|
@ -680,7 +680,7 @@ _02053BF2:
|
|||
ldr r0, [r4, #0x0]
|
||||
mov r1, #0x1
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_0205537C
|
||||
bl PlayerAvatar_ToggleVisible
|
||||
mov r0, #0x61
|
||||
mov r1, #0x6
|
||||
lsl r0, r0, #0x2
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -2160,13 +2160,13 @@ sub_020596D8: ; 0x020596D8
|
|||
cmp r0, #0x1
|
||||
bne _02059708
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetPreviousX
|
||||
bl MapObject_GetPreviousXCoord
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetPreviousY
|
||||
bl MapObject_GetPreviousYCoord
|
||||
add r6, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetPreviousZ
|
||||
bl MapObject_GetPreviousZCoord
|
||||
add r3, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
|
|
@ -2185,13 +2185,13 @@ sub_0205970C: ; 0x0205970C
|
|||
cmp r0, #0x1
|
||||
bne _0205973C
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentY
|
||||
bl MapObject_GetYCoord
|
||||
add r6, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r3, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
|
|
@ -2210,13 +2210,13 @@ sub_02059740: ; 0x02059740
|
|||
cmp r0, #0x1
|
||||
bne _02059770
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetPreviousX
|
||||
bl MapObject_GetPreviousXCoord
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetPreviousY
|
||||
bl MapObject_GetPreviousYCoord
|
||||
add r6, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetPreviousZ
|
||||
bl MapObject_GetPreviousZCoord
|
||||
add r3, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
|
|
@ -2235,13 +2235,13 @@ sub_02059774: ; 0x02059774
|
|||
cmp r0, #0x1
|
||||
bne _020597A4
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentY
|
||||
bl MapObject_GetYCoord
|
||||
add r6, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r3, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
|
|
@ -2445,16 +2445,16 @@ sub_02059918: ; 0x02059918
|
|||
sub sp, #0xc
|
||||
add r4, r1, #0x0
|
||||
add r5, r0, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r6, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl sub_02059BF4
|
||||
add r7, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentY
|
||||
bl MapObject_GetYCoord
|
||||
str r0, [sp, #0x4]
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
str r0, [sp, #0x8]
|
||||
add r0, r4, #0x0
|
||||
bl sub_02059C00
|
||||
|
|
@ -2501,16 +2501,16 @@ _0205997C:
|
|||
cmp r0, #0x0
|
||||
bne _020599F4
|
||||
ldr r0, [sp, #0x8]
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r7, r0, #0x0
|
||||
ldr r0, [sp, #0x8]
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
cmp r7, r5
|
||||
bne _020599C8
|
||||
cmp r0, r6
|
||||
bne _020599C8
|
||||
ldr r0, [sp, #0x8]
|
||||
bl MapObject_GetCurrentY
|
||||
bl MapObject_GetYCoord
|
||||
sub r0, r0, r4
|
||||
bpl _020599BE
|
||||
neg r0, r0
|
||||
|
|
@ -2522,16 +2522,16 @@ _020599BE:
|
|||
pop {r4-r7, pc}
|
||||
_020599C8:
|
||||
ldr r0, [sp, #0x8]
|
||||
bl MapObject_GetPreviousX
|
||||
bl MapObject_GetPreviousXCoord
|
||||
add r7, r0, #0x0
|
||||
ldr r0, [sp, #0x8]
|
||||
bl MapObject_GetPreviousZ
|
||||
bl MapObject_GetPreviousZCoord
|
||||
cmp r7, r5
|
||||
bne _020599F4
|
||||
cmp r0, r6
|
||||
bne _020599F4
|
||||
ldr r0, [sp, #0x8]
|
||||
bl MapObject_GetCurrentY
|
||||
bl MapObject_GetYCoord
|
||||
sub r0, r0, r4
|
||||
bpl _020599EA
|
||||
neg r0, r0
|
||||
|
|
@ -2839,17 +2839,17 @@ sub_02059C0C: ; 0x02059C0C
|
|||
push {r3-r5, lr}
|
||||
add r5, r0, #0x0
|
||||
add r4, r1, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r1, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_SetPreviousX
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentY
|
||||
bl MapObject_GetYCoord
|
||||
add r1, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_SetPreviousY
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r1, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_SetPreviousZ
|
||||
|
|
@ -2872,17 +2872,17 @@ sub_02059C0C: ; 0x02059C0C
|
|||
sub_02059C60: ; 0x02059C60
|
||||
push {r4, lr}
|
||||
add r4, r0, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r1, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl MapObject_SetPreviousX
|
||||
add r0, r4, #0x0
|
||||
bl MapObject_GetCurrentY
|
||||
bl MapObject_GetYCoord
|
||||
add r1, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl MapObject_SetPreviousY
|
||||
add r0, r4, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r1, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl MapObject_SetPreviousZ
|
||||
|
|
@ -2894,13 +2894,13 @@ sub_02059C90: ; 0x02059C90
|
|||
push {r3-r7, lr}
|
||||
add r5, r1, #0x0
|
||||
add r4, r0, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r6, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl sub_02059BF4
|
||||
add r7, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
str r0, [sp, #0x0]
|
||||
add r0, r5, #0x0
|
||||
bl sub_02059C00
|
||||
|
|
@ -3005,7 +3005,7 @@ _02059D4E:
|
|||
add r0, r5, #0x0
|
||||
bl MapObject_SetPositionVector
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentY
|
||||
bl MapObject_GetYCoord
|
||||
add r1, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_SetPreviousY
|
||||
|
|
@ -3037,10 +3037,10 @@ _02059DAC:
|
|||
sub_02059DB4: ; 0x02059DB4
|
||||
push {r3-r7, lr}
|
||||
add r5, r0, #0x0
|
||||
bl MapObject_GetPreviousX
|
||||
bl MapObject_GetPreviousXCoord
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetPreviousZ
|
||||
bl MapObject_GetPreviousZCoord
|
||||
add r6, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetFieldSystem
|
||||
|
|
@ -3052,10 +3052,10 @@ sub_02059DB4: ; 0x02059DB4
|
|||
add r0, r5, #0x0
|
||||
bl sub_02058728
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r2, r0, #0x0
|
||||
add r0, r7, #0x0
|
||||
add r1, r4, #0x0
|
||||
|
|
|
|||
|
|
@ -493,13 +493,13 @@ sub_0205A270: ; 0x0205A270
|
|||
add r1, sp, #0x0
|
||||
bl sub_0205A174
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r4, r0, #0x0
|
||||
add r0, r6, #0x0
|
||||
bl sub_02059BF4
|
||||
add r4, r4, r0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r5, r0, #0x0
|
||||
add r0, r6, #0x0
|
||||
bl sub_02059C00
|
||||
|
|
@ -1061,10 +1061,10 @@ sub_0205A67C: ; 0x0205A67C
|
|||
bl MapObject_GetInitialZ
|
||||
add r7, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
str r0, [sp, #0x0]
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
ldr r1, [sp, #0x0]
|
||||
cmp r6, r1
|
||||
bne _0205A6DA
|
||||
|
|
@ -1461,7 +1461,7 @@ sub_0205A940: ; 0x0205A940
|
|||
bl MapObject_GetInitialX
|
||||
add r6, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
cmp r6, r0
|
||||
bne _0205A98C
|
||||
mov r0, #0x2
|
||||
|
|
@ -1473,7 +1473,7 @@ _0205A974:
|
|||
bl MapObject_GetInitialZ
|
||||
add r6, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
cmp r6, r0
|
||||
bne _0205A98C
|
||||
mov r0, #0x2
|
||||
|
|
@ -1492,10 +1492,10 @@ _0205A98C:
|
|||
bl MapObject_GetInitialZ
|
||||
add r7, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
str r0, [sp, #0x0]
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
ldr r1, [sp, #0x0]
|
||||
cmp r6, r1
|
||||
bne _0205A9C0
|
||||
|
|
@ -1695,7 +1695,7 @@ sub_0205AB20: ; 0x0205AB20
|
|||
_0205AB36:
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetFieldSystem
|
||||
bl sub_02055698
|
||||
bl FieldSystem_GetPlayerAvatar
|
||||
add r6, r0, #0x0
|
||||
bl sub_02057124
|
||||
cmp r0, #0x0
|
||||
|
|
@ -1736,20 +1736,20 @@ _0205AB72:
|
|||
pop {r3-r7, pc}
|
||||
_0205AB8E:
|
||||
add r0, r6, #0x0
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r7, r0, #0x0
|
||||
add r0, r6, #0x0
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
bl MapObject_GetParam
|
||||
str r0, [sp, #0x0]
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r6, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r3, r0, #0x0
|
||||
ldr r0, [sp, #0x0]
|
||||
ldr r5, [sp, #0x0]
|
||||
|
|
@ -1817,19 +1817,19 @@ _0205AC22:
|
|||
mvn r7, r7
|
||||
ldr r0, [sp, #0x0]
|
||||
add r6, r7, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
str r0, [sp, #0x8]
|
||||
ldr r0, [sp, #0x0]
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
str r0, [sp, #0x4]
|
||||
ldr r0, [sp, #0x0]
|
||||
bl MapObject_GetFieldSystem
|
||||
bl sub_02055698
|
||||
bl FieldSystem_GetPlayerAvatar
|
||||
str r0, [sp, #0xc]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
str r0, [sp, #0x10]
|
||||
ldr r0, [sp, #0xc]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
ldr r2, [sp, #0x8]
|
||||
ldr r1, [sp, #0x10]
|
||||
cmp r2, r1
|
||||
|
|
|
|||
|
|
@ -113,20 +113,20 @@ _0205BF74: .word UNK_020F7178
|
|||
sub_0205BF78: ; 0x0205BF78
|
||||
push {r3-r5, lr}
|
||||
add r4, r0, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r5, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl MapObject_GetPreviousX
|
||||
bl MapObject_GetPreviousXCoord
|
||||
cmp r5, r0
|
||||
beq _0205BF90
|
||||
mov r0, #0x1
|
||||
pop {r3-r5, pc}
|
||||
_0205BF90:
|
||||
add r0, r4, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r5, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl MapObject_GetPreviousZ
|
||||
bl MapObject_GetPreviousZCoord
|
||||
cmp r5, r0
|
||||
beq _0205BFA6
|
||||
mov r0, #0x1
|
||||
|
|
@ -140,20 +140,20 @@ _0205BFA6:
|
|||
sub_0205BFAC: ; 0x0205BFAC
|
||||
push {r3-r5, lr}
|
||||
add r4, r0, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r5, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl MapObject_GetPreviousX
|
||||
bl MapObject_GetPreviousXCoord
|
||||
cmp r5, r0
|
||||
beq _0205BFC4
|
||||
mov r0, #0x0
|
||||
pop {r3-r5, pc}
|
||||
_0205BFC4:
|
||||
add r0, r4, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r5, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl MapObject_GetPreviousZ
|
||||
bl MapObject_GetPreviousZCoord
|
||||
cmp r5, r0
|
||||
bne _0205BFDA
|
||||
mov r0, #0x1
|
||||
|
|
|
|||
|
|
@ -285,10 +285,10 @@ sub_0205C794: ; 0x0205C794
|
|||
cmp r0, #0x1
|
||||
bne _0205C802
|
||||
add r0, r4, #0x0
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r7, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r6, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetFacingDirection
|
||||
|
|
@ -329,10 +329,10 @@ _0205C802:
|
|||
cmp r0, #0x2
|
||||
bne _0205C864
|
||||
add r0, r4, #0x0
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
str r0, [sp, #0x10]
|
||||
add r0, r4, #0x0
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r7, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
|
|
@ -402,11 +402,11 @@ sub_0205C888: ; 0x0205C888
|
|||
add r5, r1, #0x0
|
||||
add r6, r2, #0x0
|
||||
add r4, r3, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
cmp r0, r6
|
||||
bne _0205C8AE
|
||||
add r0, r7, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
cmp r4, r0
|
||||
bge _0205C8AE
|
||||
sub r1, r0, r5
|
||||
|
|
@ -426,11 +426,11 @@ sub_0205C8B4: ; 0x0205C8B4
|
|||
add r5, r1, #0x0
|
||||
add r6, r2, #0x0
|
||||
add r4, r3, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
cmp r0, r6
|
||||
bne _0205C8DA
|
||||
add r0, r7, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
cmp r4, r0
|
||||
ble _0205C8DA
|
||||
add r1, r0, r5
|
||||
|
|
@ -450,11 +450,11 @@ sub_0205C8E0: ; 0x0205C8E0
|
|||
add r5, r1, #0x0
|
||||
add r4, r2, #0x0
|
||||
add r6, r3, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
cmp r0, r6
|
||||
bne _0205C906
|
||||
add r0, r7, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
cmp r4, r0
|
||||
bge _0205C906
|
||||
sub r1, r0, r5
|
||||
|
|
@ -474,11 +474,11 @@ sub_0205C90C: ; 0x0205C90C
|
|||
add r5, r1, #0x0
|
||||
add r4, r2, #0x0
|
||||
add r6, r3, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
cmp r0, r6
|
||||
bne _0205C932
|
||||
add r0, r7, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
cmp r4, r0
|
||||
ble _0205C932
|
||||
add r1, r0, r5
|
||||
|
|
@ -504,13 +504,13 @@ sub_0205C938: ; 0x0205C938
|
|||
mov r0, #0x1
|
||||
pop {r3-r7, pc}
|
||||
_0205C94C:
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r4, r0, #0x0
|
||||
ldr r0, [sp, #0x4]
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r7, r0, #0x0
|
||||
ldr r0, [sp, #0x4]
|
||||
bl MapObject_GetCurrentY
|
||||
bl MapObject_GetYCoord
|
||||
str r0, [sp, #0xc]
|
||||
add r0, r5, #0x0
|
||||
bl sub_02059BF4
|
||||
|
|
@ -1024,16 +1024,16 @@ sub_0205CCEC: ; 0x0205CCEC
|
|||
ldr r0, [r5, #0x28]
|
||||
bl PlayerAvatar_GetMapObject
|
||||
add r4, r0, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r6, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r7, r0, #0x0
|
||||
ldr r0, [r5, #0x24]
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
str r0, [sp, #0x0]
|
||||
ldr r0, [r5, #0x24]
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r3, r0, #0x0
|
||||
ldr r2, [sp, #0x0]
|
||||
add r0, r6, #0x0
|
||||
|
|
|
|||
|
|
@ -82,10 +82,10 @@ sub_0205CE80: ; 0x0205CE80
|
|||
bl PlayerAvatar_GetState
|
||||
str r0, [r5, #0x8]
|
||||
ldr r0, [r4, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r6, r0, #0x0
|
||||
ldr r0, [r4, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r7, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
add r1, r6, #0x0
|
||||
|
|
@ -448,7 +448,7 @@ _0205D184:
|
|||
pop {r3-r5, pc}
|
||||
_0205D194:
|
||||
ldr r0, [r5, #0x14]
|
||||
bl sub_02055738
|
||||
bl PlayerAvatar_CheckBikeStateLocked
|
||||
cmp r0, #0x1
|
||||
bne _0205D1A4
|
||||
mov r0, #0x0
|
||||
|
|
@ -492,12 +492,12 @@ _0205D1DA:
|
|||
_0205D1EE:
|
||||
ldr r0, [r5, #0x18]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
lsl r0, r0, #0x10
|
||||
lsr r4, r0, #0x10
|
||||
ldr r0, [r5, #0x18]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
lsl r0, r0, #0x10
|
||||
lsr r2, r0, #0x10
|
||||
ldr r0, [r5, #0x18]
|
||||
|
|
@ -651,7 +651,7 @@ sub_0205D328: ; 0x0205D328
|
|||
pop {r3-r5, pc}
|
||||
_0205D336:
|
||||
ldr r0, [r4, #0x14]
|
||||
bl sub_02055738
|
||||
bl PlayerAvatar_CheckBikeStateLocked
|
||||
cmp r0, #0x1
|
||||
bne _0205D344
|
||||
mov r0, #0x1
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ sub_0205DD80: ; 0x0205DD80
|
|||
strb r1, [r0, #0x3]
|
||||
ldr r0, [sp, #0xc]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_02055360
|
||||
bl PlayerAvatar_GetPositionVector
|
||||
str r0, [sp, #0x1c]
|
||||
ldr r0, [sp, #0x18]
|
||||
mov r5, #0x0
|
||||
|
|
@ -882,10 +882,10 @@ _0205E374:
|
|||
mov r0, #0x0
|
||||
strb r0, [r6, #0x0]
|
||||
ldr r0, [r4, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r6, r0, #0x0
|
||||
ldr r0, [r4, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r3, r4, #0x0
|
||||
add r3, #0x90
|
||||
add r2, r0, #0x0
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@ sub_0205E5B4: ; 0x0205E5B4
|
|||
add r5, r0, #0x0
|
||||
add r4, r1, #0x0
|
||||
bl MapObject_GetManager
|
||||
bl sub_020552A4
|
||||
bl MapObjectManager_GetFirstActiveObjectWithMovement1
|
||||
cmp r0, #0x0
|
||||
bne _0205E5CC
|
||||
mov r0, #0x0
|
||||
|
|
@ -156,14 +156,14 @@ sub_0205E5E0: ; 0x0205E5E0
|
|||
push {r3-r5, lr}
|
||||
add r5, r1, #0x0
|
||||
bl MapObject_GetFieldSystem
|
||||
bl sub_02055698
|
||||
bl FieldSystem_GetPlayerAvatar
|
||||
mov r1, #0x1
|
||||
add r4, r0, #0x0
|
||||
strb r1, [r5, #0x1]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
strh r0, [r5, #0x2]
|
||||
add r0, r4, #0x0
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
strh r0, [r5, #0x4]
|
||||
mov r0, #0xff
|
||||
strh r0, [r5, #0x6]
|
||||
|
|
@ -175,13 +175,13 @@ sub_0205E608: ; 0x0205E608
|
|||
push {r4-r6, lr}
|
||||
add r5, r1, #0x0
|
||||
bl MapObject_GetFieldSystem
|
||||
bl sub_02055698
|
||||
bl FieldSystem_GetPlayerAvatar
|
||||
add r6, r0, #0x0
|
||||
beq _0205E638
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r4, r0, #0x0
|
||||
add r0, r6, #0x0
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
mov r1, #0x2
|
||||
ldrsh r1, [r5, r1]
|
||||
cmp r4, r1
|
||||
|
|
@ -202,12 +202,12 @@ sub_0205E63C: ; 0x0205E63C
|
|||
push {r3-r5, lr}
|
||||
add r5, r1, #0x0
|
||||
bl MapObject_GetFieldSystem
|
||||
bl sub_02055698
|
||||
bl FieldSystem_GetPlayerAvatar
|
||||
add r4, r0, #0x0
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
strh r0, [r5, #0x2]
|
||||
add r0, r4, #0x0
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
strh r0, [r5, #0x4]
|
||||
pop {r3-r5, pc}
|
||||
.balign 4
|
||||
|
|
@ -216,8 +216,8 @@ sub_0205E63C: ; 0x0205E63C
|
|||
sub_0205E65C: ; 0x0205E65C
|
||||
push {r3, lr}
|
||||
bl MapObject_GetFieldSystem
|
||||
bl sub_02055698
|
||||
bl sub_02055464
|
||||
bl FieldSystem_GetPlayerAvatar
|
||||
bl PlayerAvatar_GetUnk8
|
||||
add r1, r0, #0x0
|
||||
sub r1, #0x58
|
||||
cmp r1, #0x3
|
||||
|
|
@ -254,19 +254,19 @@ sub_0205E698: ; 0x0205E698
|
|||
sub sp, #0x8
|
||||
add r5, r0, #0x0
|
||||
bl MapObject_GetFieldSystem
|
||||
bl sub_02055698
|
||||
bl FieldSystem_GetPlayerAvatar
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
str r0, [sp, #0x0]
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r7, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl sub_02055338
|
||||
bl PlayerAvatar_GetPreviousXCoord
|
||||
add r6, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl sub_02055344
|
||||
bl PlayerAvatar_GetPreviousZCoord
|
||||
add r4, r0, #0x0
|
||||
ldr r0, [sp, #0x0]
|
||||
cmp r0, r6
|
||||
|
|
@ -541,10 +541,10 @@ sub_0205E8D0: ; 0x0205E8D0
|
|||
add r4, r2, #0x0
|
||||
strb r0, [r5, #0x1]
|
||||
add r0, r4, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
strh r0, [r5, #0x2]
|
||||
add r0, r4, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
strh r0, [r5, #0x4]
|
||||
mov r0, #0xff
|
||||
strh r0, [r5, #0x6]
|
||||
|
|
@ -557,16 +557,16 @@ sub_0205E8F4: ; 0x0205E8F4
|
|||
push {r3-r7, lr}
|
||||
add r6, r0, #0x0
|
||||
ldr r5, [r1, #0x8]
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r4, r0, #0x0
|
||||
add r0, r6, #0x0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r6, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetPreviousX
|
||||
bl MapObject_GetPreviousXCoord
|
||||
add r7, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl MapObject_GetPreviousZ
|
||||
bl MapObject_GetPreviousZCoord
|
||||
cmp r4, r7
|
||||
bne _0205E91E
|
||||
cmp r6, r0
|
||||
|
|
@ -596,22 +596,22 @@ sub_0205E940: ; 0x0205E940
|
|||
sub sp, #0xc
|
||||
str r0, [sp, #0x0]
|
||||
add r5, r1, #0x0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r4, r0, #0x0
|
||||
ldr r0, [sp, #0x0]
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r6, r0, #0x0
|
||||
ldr r0, [r5, #0x8]
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
str r0, [sp, #0x8]
|
||||
ldr r0, [r5, #0x8]
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r7, r0, #0x0
|
||||
ldr r0, [r5, #0x8]
|
||||
bl MapObject_GetPreviousX
|
||||
bl MapObject_GetPreviousXCoord
|
||||
str r0, [sp, #0x4]
|
||||
ldr r0, [r5, #0x8]
|
||||
bl MapObject_GetPreviousZ
|
||||
bl MapObject_GetPreviousZCoord
|
||||
add r3, r0, #0x0
|
||||
ldr r0, [sp, #0x8]
|
||||
cmp r4, r0
|
||||
|
|
|
|||
|
|
@ -38,11 +38,11 @@ TownMap_Init: ; 0x0205F7A0
|
|||
bl memset
|
||||
ldr r0, [sp, #0x0]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r4, r0, #0x0
|
||||
ldr r0, [sp, #0x0]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r6, r0, #0x0
|
||||
ldr r0, [sp, #0x0]
|
||||
asr r1, r4, #0x4
|
||||
|
|
|
|||
|
|
@ -52,10 +52,10 @@ _02060802:
|
|||
mov r0, #0x22
|
||||
str r0, [sp, #0x14]
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r6, r0, #0x0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r1, r0, #0x0
|
||||
mov r0, #0x3
|
||||
str r0, [sp, #0x0]
|
||||
|
|
@ -81,10 +81,10 @@ _0206085C:
|
|||
ldr r0, _02060918 ; =0x000001C1
|
||||
str r0, [sp, #0x14]
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r6, r0, #0x0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r1, r0, #0x0
|
||||
mov r0, #0x6
|
||||
str r0, [sp, #0x0]
|
||||
|
|
@ -122,7 +122,7 @@ _02060892:
|
|||
str r0, [r4, #0x7c]
|
||||
ldr r0, [r5, #0x38]
|
||||
add r1, #0x24
|
||||
bl sub_02055350
|
||||
bl PlayerAvatar_CopyPositionVector
|
||||
ldr r0, [r5, #0x20]
|
||||
bl Camera_ClearFixedTarget
|
||||
add r0, r4, #0x0
|
||||
|
|
|
|||
|
|
@ -503,7 +503,7 @@ _02064B00:
|
|||
_02064B1C:
|
||||
ldr r0, [r5, #0x38]
|
||||
ldr r1, [sp, #0x14]
|
||||
bl sub_02055540
|
||||
bl PlayerAvatar_SetMapObjectYPosition
|
||||
ldr r0, [sp, #0xc]
|
||||
add r1, sp, #0x10
|
||||
bl ov05_021E7EB0
|
||||
|
|
@ -517,7 +517,7 @@ _02064B2E:
|
|||
bl ov05_021F4594
|
||||
ldr r0, [r5, #0x38]
|
||||
mov r1, #0x1
|
||||
bl sub_0205557C
|
||||
bl PlayerAvatar_ToggleAutomaticHeightUpdatingImmediate
|
||||
ldr r0, _02064B6C ; =0x0000061A
|
||||
bl PlaySE
|
||||
ldr r0, [r4, #0x0]
|
||||
|
|
@ -620,7 +620,7 @@ _02064BEC:
|
|||
_02064C12:
|
||||
ldr r0, [r5, #0x38]
|
||||
ldr r1, [sp, #0x14]
|
||||
bl sub_02055540
|
||||
bl PlayerAvatar_SetMapObjectYPosition
|
||||
ldr r0, [sp, #0xc]
|
||||
add r1, sp, #0x10
|
||||
bl ov05_021E7EB0
|
||||
|
|
@ -634,7 +634,7 @@ _02064C24:
|
|||
bl ov05_021F4594
|
||||
ldr r0, [r5, #0x38]
|
||||
mov r1, #0x1
|
||||
bl sub_0205557C
|
||||
bl PlayerAvatar_ToggleAutomaticHeightUpdatingImmediate
|
||||
ldr r0, _02064C60 ; =0x0000061A
|
||||
bl PlaySE
|
||||
ldr r0, [r4, #0x0]
|
||||
|
|
|
|||
128
arm9/global.inc
128
arm9/global.inc
|
|
@ -3892,75 +3892,75 @@
|
|||
.extern Save_PlayerHasAllRegisInParty
|
||||
.extern sub_02054F50
|
||||
.extern sub_0205502C
|
||||
.extern sub_02055068
|
||||
.extern sub_020550A4
|
||||
.extern PlayerAvatar_CreateWithParams
|
||||
.extern PlayerAvatar_CreateWithActiveMapObject
|
||||
.extern sub_02055108
|
||||
.extern sub_02055160
|
||||
.extern sub_02055168
|
||||
.extern sub_020552A4
|
||||
.extern PlayerAvatar_FreeToHeap
|
||||
.extern PlayerAvatar_DeleteFromMap
|
||||
.extern MapObjectManager_GetFirstActiveObjectWithMovement1
|
||||
.extern PlayerAvatar_GetFacingDirection
|
||||
.extern sub_02055304
|
||||
.extern sub_02055314
|
||||
.extern GetPlayerXCoord
|
||||
.extern GetPlayerZCoord
|
||||
.extern sub_02055338
|
||||
.extern sub_02055344
|
||||
.extern sub_02055350
|
||||
.extern sub_02055360
|
||||
.extern sub_0205536C
|
||||
.extern sub_02055370
|
||||
.extern sub_02055374
|
||||
.extern sub_02055378
|
||||
.extern sub_0205537C
|
||||
.extern PlayerAvatar_SetFacingDirection
|
||||
.extern PlayerAvatar_GetNextFacingDirection
|
||||
.extern PlayerAvatar_GetXCoord
|
||||
.extern PlayerAvatar_GetZCoord
|
||||
.extern PlayerAvatar_GetPreviousXCoord
|
||||
.extern PlayerAvatar_GetPreviousZCoord
|
||||
.extern PlayerAvatar_CopyPositionVector
|
||||
.extern PlayerAvatar_GetPositionVector
|
||||
.extern PlayerAvatar_SetUnk10
|
||||
.extern PlayerAvatar_GetUnk10
|
||||
.extern PlayerAvatar_SetUnk14
|
||||
.extern PlayerAvatar_GetUnk14
|
||||
.extern PlayerAvatar_ToggleVisible
|
||||
.extern PlayerAvatar_GetMapObject
|
||||
.extern PlayerAvatar_SetState
|
||||
.extern PlayerAvatar_GetState
|
||||
.extern PlayerAvatar_OrrTransitionFlags
|
||||
.extern PlayerAvatar_SetTransitionFlagsBits
|
||||
.extern PlayerAvatar_SetTransitionFlags
|
||||
.extern PlayerAvatar_GetTransitionFlags
|
||||
.extern PlayerAvatar_GetGender
|
||||
.extern sub_02055408
|
||||
.extern sub_0205540C
|
||||
.extern sub_02055410
|
||||
.extern sub_0205541C
|
||||
.extern sub_02055430
|
||||
.extern sub_02055438
|
||||
.extern sub_0205543C
|
||||
.extern sub_02055450
|
||||
.extern sub_02055454
|
||||
.extern sub_0205545C
|
||||
.extern sub_02055460
|
||||
.extern sub_02055464
|
||||
.extern sub_02055468
|
||||
.extern sub_02055474
|
||||
.extern sub_02055488
|
||||
.extern sub_020554AC
|
||||
.extern sub_020554BC
|
||||
.extern PlayerAvatar_GetUnk20
|
||||
.extern PlayerAvatar_SetUnk20
|
||||
.extern PlayerAvatar_ClearUnk20ClearFlag2
|
||||
.extern PlayerAvatar_Unk20AddWithCeiling
|
||||
.extern PlayerAvatar_GetUnk24
|
||||
.extern PlayerAvatar_GetUnk28
|
||||
.extern PlayerAvatar_SetUnk24Unk28
|
||||
.extern PlayerAvatar_SetUnk30
|
||||
.extern PlayerAvatar_GetUnk30
|
||||
.extern PlayerAvatar_GetPlayerSaveData
|
||||
.extern PlayerAvatar_SetUnk8
|
||||
.extern PlayerAvatar_GetUnk8
|
||||
.extern PlayerSaveData_Init
|
||||
.extern PlayerSaveData_CheckRunningShoes
|
||||
.extern PlayerSaveData_SetRunningShoesFlag
|
||||
.extern PlayerAvatar_SetPlayerSaveDataUnk0
|
||||
.extern PlayerAvatar_GetPlayerSaveDataUnk0
|
||||
.extern sub_020554EC
|
||||
.extern sub_02055514
|
||||
.extern sub_02055540
|
||||
.extern PlayerAvatar_SetMapObjectYPosition
|
||||
.extern PlayerAvatar_ToggleAutomaticHeightUpdating
|
||||
.extern sub_0205557C
|
||||
.extern PlayerAvatar_ToggleAutomaticHeightUpdatingImmediate
|
||||
.extern PlayerAvatar_GetSpriteByStateAndGender
|
||||
.extern sub_02055648
|
||||
.extern sub_02055698
|
||||
.extern sub_0205569C
|
||||
.extern sub_020556B4
|
||||
.extern sub_020556C8
|
||||
.extern sub_020556E0
|
||||
.extern sub_020556F4
|
||||
.extern sub_0205570C
|
||||
.extern sub_02055720
|
||||
.extern sub_02055738
|
||||
.extern sub_0205574C
|
||||
.extern sub_02055764
|
||||
.extern sub_02055778
|
||||
.extern sub_02055790
|
||||
.extern sub_020557A4
|
||||
.extern sub_020557B0
|
||||
.extern sub_020557BC
|
||||
.extern sub_020557D0
|
||||
.extern sub_020557E8
|
||||
.extern PlayerAvatar_GetTransitionBits
|
||||
.extern FieldSystem_GetPlayerAvatar
|
||||
.extern PlayerAvatar_SetFlag0
|
||||
.extern PlayerAvatar_CheckFlag0
|
||||
.extern PlayerAvatar_SetFlag1
|
||||
.extern PlayerAvatar_CheckFlag1
|
||||
.extern PlayerAvatar_SetFlag2
|
||||
.extern PlayerAvatar_CheckFlag2
|
||||
.extern PlayerAvatar_SetBikeStateLock
|
||||
.extern PlayerAvatar_CheckBikeStateLocked
|
||||
.extern PlayerAvatar_SetFlag4
|
||||
.extern PlayerAvatar_CheckFlag4
|
||||
.extern PlayerAvatar_SetFlag5
|
||||
.extern PlayerAvatar_CheckFlag5
|
||||
.extern PlayerAvatar_SetFlag6
|
||||
.extern PlayerAvatar_ClearFlag6
|
||||
.extern PlayerAvatar_CheckFlag6
|
||||
.extern PlayerAvatar_SetFlag7
|
||||
.extern PlayerAvatar_CheckFlag7
|
||||
.extern sub_020557F4
|
||||
.extern sub_02055898
|
||||
.extern sub_02055A38
|
||||
|
|
@ -4116,19 +4116,19 @@
|
|||
.extern MapObject_GetInitialX
|
||||
.extern MapObject_GetInitialY
|
||||
.extern MapObject_GetInitialZ
|
||||
.extern MapObject_GetPreviousX
|
||||
.extern MapObject_GetPreviousXCoord
|
||||
.extern MapObject_SetPreviousX
|
||||
.extern MapObject_GetPreviousY
|
||||
.extern MapObject_GetPreviousYCoord
|
||||
.extern MapObject_SetPreviousY
|
||||
.extern MapObject_GetPreviousZ
|
||||
.extern MapObject_GetPreviousZCoord
|
||||
.extern MapObject_SetPreviousZ
|
||||
.extern MapObject_GetCurrentX
|
||||
.extern MapObject_GetXCoord
|
||||
.extern MapObject_SetCurrentX
|
||||
.extern MapObject_AddCurrentX
|
||||
.extern MapObject_GetCurrentY
|
||||
.extern MapObject_GetYCoord
|
||||
.extern MapObject_SetCurrentY
|
||||
.extern MapObject_AddCurrentY
|
||||
.extern MapObject_GetCurrentZ
|
||||
.extern MapObject_GetZCoord
|
||||
.extern MapObject_SetCurrentZ
|
||||
.extern MapObject_AddCurrentZ
|
||||
.extern MapObject_CopyPositionVector
|
||||
|
|
@ -4143,7 +4143,7 @@
|
|||
.extern sub_02058BD4
|
||||
.extern MapObject_GetPositionVectorYCoordUInt
|
||||
.extern MapObjectManager_GetFirstObjectWithXAndZ
|
||||
.extern LocalMapObject_SetPositionFromVectorAndDirection
|
||||
.extern MapObject_SetPositionFromVectorAndDirection
|
||||
.extern MapObject_SetPositionFromXYZAndDirection
|
||||
.extern sub_02058E90
|
||||
.extern sub_02058EB0
|
||||
|
|
|
|||
|
|
@ -232,11 +232,11 @@ _021D76E2:
|
|||
ldr r0, [r4, #0x24]
|
||||
bl ov05_021EF5FC
|
||||
ldr r0, [r4, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
ldr r1, [r4, #0x1c]
|
||||
str r0, [r1, #8]
|
||||
ldr r0, [r4, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
ldr r1, [r4, #0x1c]
|
||||
str r0, [r1, #0xc]
|
||||
ldr r0, [r4, #0x38]
|
||||
|
|
@ -383,10 +383,10 @@ ov05_021D7864: ; 0x021D7864
|
|||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r4, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
ldr r2, [r5, #0x1c]
|
||||
ldr r1, [r2, #8]
|
||||
cmp r4, r1
|
||||
|
|
@ -411,13 +411,13 @@ ov05_021D7894: ; 0x021D7894
|
|||
sub sp, #8
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
asr r1, r0, #4
|
||||
lsr r1, r1, #0x1b
|
||||
add r1, r0, r1
|
||||
ldr r0, [r5, #0x38]
|
||||
asr r4, r1, #5
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
asr r1, r0, #4
|
||||
lsr r1, r1, #0x1b
|
||||
add r1, r0, r1
|
||||
|
|
@ -550,13 +550,13 @@ ov05_021D79B4: ; 0x021D79B4
|
|||
bl sub_02034E0C
|
||||
add r7, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
asr r1, r0, #4
|
||||
lsr r1, r1, #0x1b
|
||||
add r1, r0, r1
|
||||
ldr r0, [r5, #0x38]
|
||||
asr r6, r1, #5
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
asr r1, r0, #4
|
||||
lsr r1, r1, #0x1b
|
||||
add r1, r0, r1
|
||||
|
|
@ -1077,7 +1077,7 @@ _021D7DF6:
|
|||
ldr r0, [r4, #0x34]
|
||||
bl sub_02058774
|
||||
ldr r0, [r4, #0x38]
|
||||
bl sub_02055360
|
||||
bl PlayerAvatar_GetPositionVector
|
||||
ldr r1, [r4, #0x24]
|
||||
bl ov05_021EF5E0
|
||||
add r0, r4, #0
|
||||
|
|
@ -1109,7 +1109,7 @@ ov05_021D7E4C: ; 0x021D7E4C
|
|||
bl sub_02034E10
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4, #0x38]
|
||||
bl sub_02055360
|
||||
bl PlayerAvatar_GetPositionVector
|
||||
add r1, r4, #0
|
||||
add r2, r5, #0
|
||||
mov r3, #1
|
||||
|
|
|
|||
|
|
@ -74,10 +74,10 @@ ov05_021D8164: ; 0x021D8164
|
|||
add r4, r3, #0
|
||||
bl ov05_021D80E8
|
||||
ldr r0, [r7, #0x38]
|
||||
bl sub_02055378
|
||||
bl PlayerAvatar_GetUnk14
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r7, #0x38]
|
||||
bl sub_02055370
|
||||
bl PlayerAvatar_GetUnk10
|
||||
str r0, [sp]
|
||||
ldr r0, [r7, #0x38]
|
||||
bl PlayerAvatar_GetFacingDirection
|
||||
|
|
@ -208,7 +208,7 @@ ov05_021D825C: ; 0x021D825C
|
|||
add r4, r1, #0
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4, #0x38]
|
||||
bl sub_02055378
|
||||
bl PlayerAvatar_GetUnk14
|
||||
add r6, r0, #0
|
||||
ldr r0, [r4, #0x1c]
|
||||
ldr r1, [r0]
|
||||
|
|
@ -231,7 +231,7 @@ _021D8290:
|
|||
cmp r6, #0
|
||||
bne _021D82EC
|
||||
ldr r0, [r4, #0x38]
|
||||
bl sub_02055370
|
||||
bl PlayerAvatar_GetUnk10
|
||||
ldrb r1, [r5, #2]
|
||||
lsl r2, r1, #0x18
|
||||
asr r3, r2, #0x18
|
||||
|
|
@ -1451,10 +1451,10 @@ _021D8C88:
|
|||
bl Save_PlayerData_GetProfile
|
||||
add r6, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r7, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r2, r0, #0
|
||||
add r0, r5, #0
|
||||
add r1, r7, #0
|
||||
|
|
@ -1521,10 +1521,10 @@ _021D8D34:
|
|||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_021D8D4C:
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r4, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r7, r0, #0
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
|
|
@ -1551,7 +1551,7 @@ _021D8D76:
|
|||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_021D8D90:
|
||||
ldr r0, [r5, #0x38]
|
||||
bl sub_020556B4
|
||||
bl PlayerAvatar_CheckFlag0
|
||||
cmp r0, #0
|
||||
beq _021D8D9E
|
||||
mov r0, #0
|
||||
|
|
@ -1988,10 +1988,10 @@ ov05_021D90F8: ; 0x021D90F8
|
|||
ldr r0, [r5, #0x38]
|
||||
add r4, r1, #0
|
||||
add r6, r2, #0
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
str r0, [r4]
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
str r0, [r6]
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
|
|
|
|||
|
|
@ -259,12 +259,12 @@ _021E1562:
|
|||
ldr r0, [sp]
|
||||
ldr r0, [r0, #4]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r4, r0, #0
|
||||
ldr r0, [sp]
|
||||
ldr r0, [r0, #4]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
sub r1, r4, #7
|
||||
str r1, [sp, #0x14]
|
||||
add r1, r4, #7
|
||||
|
|
@ -319,10 +319,10 @@ _021E15CA: ; jump table
|
|||
.short _021E15DC - _021E15CA - 2 ; case 8
|
||||
_021E15DC:
|
||||
add r0, r4, #0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r7, r0, #0
|
||||
add r0, r4, #0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
ldr r1, [sp, #0x14]
|
||||
cmp r7, r1
|
||||
blt _021E161A
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@
|
|||
|
||||
thumb_func_start Field_PlayerAvatar_OrrTransitionFlags
|
||||
Field_PlayerAvatar_OrrTransitionFlags: ; 0x021E5FD8
|
||||
ldr r3, _021E5FDC ; =PlayerAvatar_OrrTransitionFlags
|
||||
ldr r3, _021E5FDC ; =PlayerAvatar_SetTransitionFlagsBits
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_021E5FDC: .word PlayerAvatar_OrrTransitionFlags
|
||||
_021E5FDC: .word PlayerAvatar_SetTransitionFlagsBits
|
||||
|
||||
thumb_func_start Field_PlayerAvatar_ApplyTransitionFlags
|
||||
Field_PlayerAvatar_ApplyTransitionFlags: ; 0x021E5FE0
|
||||
|
|
@ -53,16 +53,16 @@ ov05_021E6014: ; 0x021E6014
|
|||
mov r1, #0
|
||||
bl PlayerAvatar_SetState
|
||||
add r0, r4, #0
|
||||
bl sub_02055410
|
||||
bl PlayerAvatar_ClearUnk20ClearFlag2
|
||||
add r0, r4, #0
|
||||
bl sub_02055454
|
||||
bl PlayerAvatar_GetUnk30
|
||||
cmp r0, #0
|
||||
beq _021E6048
|
||||
bl ov05_021E4DE4
|
||||
_021E6048:
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
bl sub_02055450
|
||||
bl PlayerAvatar_SetUnk30
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
|
||||
|
|
@ -81,16 +81,16 @@ ov05_021E6054: ; 0x021E6054
|
|||
mov r1, #1
|
||||
bl PlayerAvatar_SetState
|
||||
add r0, r4, #0
|
||||
bl sub_02055410
|
||||
bl PlayerAvatar_ClearUnk20ClearFlag2
|
||||
add r0, r4, #0
|
||||
bl sub_02055454
|
||||
bl PlayerAvatar_GetUnk30
|
||||
cmp r0, #0
|
||||
beq _021E6088
|
||||
bl ov05_021E4DE4
|
||||
_021E6088:
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
bl sub_02055450
|
||||
bl PlayerAvatar_SetUnk30
|
||||
ldr r0, _021E6098 ; =0x00000618
|
||||
bl PlaySE
|
||||
pop {r4, pc}
|
||||
|
|
@ -113,16 +113,16 @@ ov05_021E609C: ; 0x021E609C
|
|||
mov r1, #2
|
||||
bl PlayerAvatar_SetState
|
||||
add r0, r5, #0
|
||||
bl sub_02055410
|
||||
bl PlayerAvatar_ClearUnk20ClearFlag2
|
||||
add r0, r5, #0
|
||||
bl sub_02055454
|
||||
bl PlayerAvatar_GetUnk30
|
||||
cmp r0, #0
|
||||
beq _021E60D2
|
||||
bl ov05_021E4DE4
|
||||
_021E60D2:
|
||||
add r0, r5, #0
|
||||
mov r1, #0
|
||||
bl sub_02055450
|
||||
bl PlayerAvatar_SetUnk30
|
||||
add r0, r5, #0
|
||||
bl PlayerAvatar_GetFacingDirection
|
||||
add r4, r0, #0
|
||||
|
|
@ -139,18 +139,18 @@ _021E60D2:
|
|||
bl ov06_0224ABAC
|
||||
add r1, r0, #0
|
||||
add r0, r5, #0
|
||||
bl sub_02055450
|
||||
bl PlayerAvatar_SetUnk30
|
||||
add sp, #4
|
||||
pop {r3, r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
|
||||
thumb_func_start ov05_021E610C
|
||||
ov05_021E610C: ; 0x021E610C
|
||||
ldr r3, _021E6114 ; =sub_020556C8
|
||||
ldr r3, _021E6114 ; =PlayerAvatar_SetFlag1
|
||||
mov r1, #1
|
||||
bx r3
|
||||
nop
|
||||
_021E6114: .word sub_020556C8
|
||||
_021E6114: .word PlayerAvatar_SetFlag1
|
||||
|
||||
thumb_func_start ov05_021E6118
|
||||
ov05_021E6118: ; 0x021E6118
|
||||
|
|
@ -230,7 +230,7 @@ ov05_021E61A4: ; 0x021E61A4
|
|||
add r0, r5, #0
|
||||
add r4, r2, #0
|
||||
add r7, r3, #0
|
||||
bl sub_020556B4
|
||||
bl PlayerAvatar_CheckFlag0
|
||||
cmp r0, #1
|
||||
bne _021E61CE
|
||||
add r0, r6, #0
|
||||
|
|
@ -672,13 +672,13 @@ _021E6500:
|
|||
b _021E65E4
|
||||
_021E6514:
|
||||
ldr r0, [r4, #0x20]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
bl sub_02059BF4
|
||||
add r6, r0, #0
|
||||
ldr r0, [r4, #0x20]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r7, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
bl sub_02059C00
|
||||
|
|
@ -693,7 +693,7 @@ _021E6514:
|
|||
str r0, [r4, #0x28]
|
||||
ldr r0, [r4, #0x20]
|
||||
ldr r1, [r4, #0x28]
|
||||
bl sub_02055450
|
||||
bl PlayerAvatar_SetUnk30
|
||||
ldr r0, [r4, #0x20]
|
||||
mov r1, #2
|
||||
bl PlayerAvatar_SetState
|
||||
|
|
@ -821,7 +821,7 @@ ov05_021E6638: ; 0x021E6638
|
|||
bl PlayerAvatar_GetMapObject
|
||||
str r0, [r4, #0x10]
|
||||
add r0, r7, #0
|
||||
bl sub_02055454
|
||||
bl PlayerAvatar_GetUnk30
|
||||
str r0, [r4, #0x14]
|
||||
cmp r0, #0
|
||||
bne _021E6666
|
||||
|
|
@ -883,7 +883,7 @@ _021E66CC:
|
|||
bl ov05_021E4DE4
|
||||
ldr r0, [r4, #0xc]
|
||||
mov r1, #0
|
||||
bl sub_02055450
|
||||
bl PlayerAvatar_SetUnk30
|
||||
ldr r0, [r4, #0xc]
|
||||
mov r1, #0
|
||||
bl PlayerAvatar_SetState
|
||||
|
|
@ -945,7 +945,7 @@ ov05_021E6758: ; 0x021E6758
|
|||
add r4, r1, #0
|
||||
add r5, r0, #0
|
||||
add r0, r4, #0
|
||||
bl sub_02055764
|
||||
bl PlayerAvatar_CheckFlag4
|
||||
cmp r0, #1
|
||||
bne _021E676C
|
||||
mov r0, #0
|
||||
|
|
@ -1032,7 +1032,7 @@ _021E6804:
|
|||
bl PlaySE
|
||||
ldr r0, [r4, #0xc]
|
||||
mov r1, #1
|
||||
bl sub_0205574C
|
||||
bl PlayerAvatar_SetFlag4
|
||||
add r0, r4, #0
|
||||
bl ov05_021E72DC
|
||||
add sp, #0xc
|
||||
|
|
@ -1084,7 +1084,7 @@ _021E682A:
|
|||
bne _021E68A2
|
||||
ldr r0, [r4, #0xc]
|
||||
mov r1, #1
|
||||
bl sub_0205574C
|
||||
bl PlayerAvatar_SetFlag4
|
||||
add r0, r4, #0
|
||||
bl ov05_021E72DC
|
||||
ldr r0, [sp, #4]
|
||||
|
|
@ -1150,14 +1150,14 @@ ov05_021E6904: ; 0x021E6904
|
|||
push {r4, lr}
|
||||
add r4, r1, #0
|
||||
add r0, r4, #0
|
||||
bl sub_02055408
|
||||
bl PlayerAvatar_GetUnk20
|
||||
cmp r0, #1
|
||||
bge _021E6916
|
||||
mov r0, #0
|
||||
pop {r4, pc}
|
||||
_021E6916:
|
||||
add r0, r4, #0
|
||||
bl sub_02055314
|
||||
bl PlayerAvatar_GetNextFacingDirection
|
||||
add r1, r0, #0
|
||||
add r0, r4, #0
|
||||
bl ov05_021E727C
|
||||
|
|
@ -1329,13 +1329,13 @@ ov05_021E6A58: ; 0x021E6A58
|
|||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0x10]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r4, r0, #0
|
||||
ldr r0, [r5, #4]
|
||||
bl sub_02059BF4
|
||||
add r6, r0, #0
|
||||
ldr r0, [r5, #0x10]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r7, r0, #0
|
||||
ldr r0, [r5, #4]
|
||||
bl sub_02059C00
|
||||
|
|
@ -1647,14 +1647,14 @@ ov05_021E6CC4: ; 0x021E6CC4
|
|||
sub sp, #0x18
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0x3c]
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r4, r0, #0
|
||||
mov r0, #0
|
||||
bl sub_02059BF4
|
||||
lsl r0, r0, #1
|
||||
add r4, r4, r0
|
||||
ldr r0, [r5, #0x3c]
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r6, r0, #0
|
||||
mov r0, #0
|
||||
bl sub_02059C00
|
||||
|
|
@ -1878,14 +1878,14 @@ ov05_021E6E90: ; 0x021E6E90
|
|||
sub sp, #0x18
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0x3c]
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r4, r0, #0
|
||||
mov r0, #1
|
||||
bl sub_02059BF4
|
||||
lsl r0, r0, #1
|
||||
add r4, r4, r0
|
||||
ldr r0, [r5, #0x3c]
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r6, r0, #0
|
||||
mov r0, #1
|
||||
bl sub_02059C00
|
||||
|
|
@ -2367,13 +2367,13 @@ ov05_021E727C: ; 0x021E727C
|
|||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r1, #0
|
||||
add r4, r0, #0
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r6, r0, #0
|
||||
add r0, r5, #0
|
||||
bl sub_02059BF4
|
||||
add r7, r0, #0
|
||||
add r0, r4, #0
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
str r0, [sp]
|
||||
add r0, r5, #0
|
||||
bl sub_02059C00
|
||||
|
|
|
|||
|
|
@ -37,12 +37,12 @@ _021E7532:
|
|||
str r0, [r1, #0x10]
|
||||
_021E7536:
|
||||
ldr r0, [r1]
|
||||
ldr r3, _021E7540 ; =sub_02055304
|
||||
ldr r3, _021E7540 ; =PlayerAvatar_SetFacingDirection
|
||||
ldr r0, [r0, #0x38]
|
||||
ldr r1, [r1, #0x10]
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_021E7540: .word sub_02055304
|
||||
_021E7540: .word PlayerAvatar_SetFacingDirection
|
||||
|
||||
thumb_func_start ov05_021E7544
|
||||
ov05_021E7544: ; 0x021E7544
|
||||
|
|
@ -264,7 +264,7 @@ _021E771C:
|
|||
ldr r0, [r5]
|
||||
mov r1, #1
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_02055304
|
||||
bl PlayerAvatar_SetFacingDirection
|
||||
ldr r0, [r5, #4]
|
||||
mov r1, #1
|
||||
str r1, [r0]
|
||||
|
|
|
|||
|
|
@ -372,11 +372,11 @@ Field_SaveGame: ; 0x021E85FC
|
|||
mov r2, #0
|
||||
bl ov05_021EFA9C
|
||||
ldr r0, [r4, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
ldr r1, [r4, #0x1c]
|
||||
str r0, [r1, #8]
|
||||
ldr r0, [r4, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
ldr r1, [r4, #0x1c]
|
||||
str r0, [r1, #0xc]
|
||||
mov r1, #0
|
||||
|
|
|
|||
|
|
@ -173,13 +173,13 @@ _021EDCAE:
|
|||
str r0, [r5, #0x20]
|
||||
_021EDCB8:
|
||||
add r0, r6, #0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r4, r0, #0
|
||||
ldr r0, [r5, #4]
|
||||
bl sub_02059BF4
|
||||
add r7, r0, #0
|
||||
add r0, r6, #0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r5, #4]
|
||||
bl sub_02059C00
|
||||
|
|
|
|||
|
|
@ -21,10 +21,10 @@ ov05_021F3860: ; 0x021F3860
|
|||
add r5, r1, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
add r4, r2, #0
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r6, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r7, r0, #0
|
||||
ldr r0, [r4]
|
||||
cmp r0, r6
|
||||
|
|
|
|||
|
|
@ -42,10 +42,10 @@ ov05_021F4D2C: ; 0x021F4D2C
|
|||
ldr r0, _021F4D7C ; =0x000007D8
|
||||
str r0, [r1]
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r4, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r6, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl PlayerAvatar_GetFacingDirection
|
||||
|
|
|
|||
|
|
@ -480,10 +480,10 @@ _021F5888:
|
|||
cmp r0, #0
|
||||
bge _021F5980
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r6, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r2, r0, #0
|
||||
add r0, r5, #0
|
||||
add r1, r6, #0
|
||||
|
|
|
|||
|
|
@ -539,7 +539,7 @@ _021F602C:
|
|||
bl ov05_021F60FC
|
||||
add r0, r4, #0
|
||||
bl PlayerAvatar_GetState
|
||||
bl sub_02055648
|
||||
bl PlayerAvatar_GetTransitionBits
|
||||
add r1, r0, #0
|
||||
add r0, r4, #0
|
||||
bl Field_PlayerAvatar_OrrTransitionFlags
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#include "nitro/types.h"
|
||||
|
||||
#include "field_system.h"
|
||||
#include "player_avatar.h"
|
||||
#include "task.h"
|
||||
|
||||
typedef struct UnkStruct021E7358 {
|
||||
|
|
@ -11,12 +12,12 @@ typedef struct UnkStruct021E7358 {
|
|||
u32 Unk04;
|
||||
u32 Unk08;
|
||||
FieldSystem *fieldSystem;
|
||||
u32 Unk10;
|
||||
PlayerAvatar *avatar;
|
||||
|
||||
} UnkStruct021E7358;
|
||||
|
||||
BOOL ov05_021E72FC(FieldSystem *fieldSystem, u32 param1);
|
||||
void ov05_021E7358(FieldSystem *fieldSystem, u32 param1, u32 param2);
|
||||
BOOL ov05_021E72FC(FieldSystem *fieldSystem, PlayerAvatar *avatar);
|
||||
void ov05_021E7358(FieldSystem *fieldSystem, PlayerAvatar *avatar, u32 param2);
|
||||
u32 ov05_021E7388(u32 param0);
|
||||
BOOL ov05_021E73B4(TaskManager *taskManager);
|
||||
UnkStruct021E7358 *ov05_021E74D4(u32 param0);
|
||||
|
|
|
|||
|
|
@ -8,19 +8,17 @@
|
|||
#include "map_object.h"
|
||||
#include "unk_020051F4.h"
|
||||
|
||||
extern LocalMapObject *PlayerAvatar_GetMapObject(u32 param0);
|
||||
extern BOOL sub_02054B30(u8 param0);
|
||||
extern BOOL sub_02054B3C(u8 param0);
|
||||
extern BOOL sub_02054B48(u8 param0);
|
||||
extern BOOL sub_02054B54(u8 param0);
|
||||
extern BOOL sub_02057254(u32 param0);
|
||||
extern BOOL sub_02057254(PlayerAvatar *avatar);
|
||||
extern u32 sub_0205AFDC(u32 param0, u32 param1);
|
||||
extern void sub_02057260(u32 param0, u32 param1);
|
||||
extern void sub_02055304(u32 param0, u32 param1);
|
||||
extern BOOL sub_02056B74(u32 param0, LocalMapObject *object, u32 param2);
|
||||
extern void sub_02057260(PlayerAvatar *avatar, u32 param1);
|
||||
extern BOOL sub_02056B74(PlayerAvatar *avatar, LocalMapObject *object, u32 param2);
|
||||
|
||||
BOOL ov05_021E72FC(FieldSystem *fieldSystem, u32 param1) {
|
||||
u8 res = (u8)sub_02058720(PlayerAvatar_GetMapObject(param1));
|
||||
BOOL ov05_021E72FC(FieldSystem *fieldSystem, PlayerAvatar *avatar) {
|
||||
u8 res = (u8)sub_02058720(PlayerAvatar_GetMapObject(avatar));
|
||||
u32 r2;
|
||||
if (sub_02054B30(res) == TRUE) {
|
||||
r2 = 3;
|
||||
|
|
@ -37,14 +35,14 @@ BOOL ov05_021E72FC(FieldSystem *fieldSystem, u32 param1) {
|
|||
}
|
||||
return FALSE;
|
||||
label:
|
||||
ov05_021E7358(fieldSystem, param1, r2);
|
||||
ov05_021E7358(fieldSystem, avatar, r2);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void ov05_021E7358(FieldSystem *fieldSystem, u32 param1, u32 param2) {
|
||||
void ov05_021E7358(FieldSystem *fieldSystem, PlayerAvatar *avatar, u32 param2) {
|
||||
UnkStruct021E7358 *res = ov05_021E74D4(24);
|
||||
res->fieldSystem = fieldSystem;
|
||||
res->Unk10 = param1;
|
||||
res->avatar = avatar;
|
||||
res->Unk00 = param2;
|
||||
PlaySE(SEQ_SE_DP_F209);
|
||||
FieldSystem_CreateTask(fieldSystem, ov05_021E73B4, res);
|
||||
|
|
@ -66,7 +64,7 @@ u32 ov05_021E7388(u32 param0) {
|
|||
|
||||
BOOL ov05_021E73B4(TaskManager *taskManager) {
|
||||
UnkStruct021E7358 *strct = TaskManager_GetEnvironment(taskManager);
|
||||
LocalMapObject *playerObject = PlayerAvatar_GetMapObject(strct->Unk10);
|
||||
LocalMapObject *playerObject = PlayerAvatar_GetMapObject(strct->avatar);
|
||||
u8 res2 = (u8)sub_02058720(playerObject);
|
||||
switch (strct->Unk08) {
|
||||
case 0:
|
||||
|
|
@ -74,18 +72,18 @@ BOOL ov05_021E73B4(TaskManager *taskManager) {
|
|||
strct->Unk08++;
|
||||
break;
|
||||
case 1:
|
||||
if (!sub_02057254(strct->Unk10)) {
|
||||
if (!sub_02057254(strct->avatar)) {
|
||||
break;
|
||||
}
|
||||
sub_02057260(strct->Unk10, sub_0205AFDC(strct->Unk00, 12));
|
||||
sub_02055304(strct->Unk10, strct->Unk00);
|
||||
sub_02057260(strct->avatar, sub_0205AFDC(strct->Unk00, 12));
|
||||
PlayerAvatar_SetFacingDirection(strct->avatar, strct->Unk00);
|
||||
strct->Unk08++;
|
||||
strct->Unk04 = 7;
|
||||
break;
|
||||
case 2:
|
||||
if (strct->Unk04 == 2 || strct->Unk04 == 4 || strct->Unk04 == 6) {
|
||||
strct->Unk00 = ov05_021E7388(strct->Unk00);
|
||||
sub_02055304(strct->Unk10, strct->Unk00);
|
||||
PlayerAvatar_SetFacingDirection(strct->avatar, strct->Unk00);
|
||||
}
|
||||
if (--(strct->Unk04)) {
|
||||
break;
|
||||
|
|
@ -101,13 +99,13 @@ BOOL ov05_021E73B4(TaskManager *taskManager) {
|
|||
} else {
|
||||
strct->Unk00 = ov05_021E7388(strct->Unk00);
|
||||
}
|
||||
if (sub_02056B74(strct->Unk10, playerObject, strct->Unk00) == FALSE) {
|
||||
if (sub_02056B74(strct->avatar, playerObject, strct->Unk00) == FALSE) {
|
||||
strct->Unk08 = 1;
|
||||
break;
|
||||
}
|
||||
MapObject_ClearFlagsBits(playerObject, MAPOBJECTFLAG_UNK7);
|
||||
MapObject_ClearFlagsBits(playerObject, MAPOBJECTFLAG_UNK8);
|
||||
sub_02055304(strct->Unk10, strct->Unk00);
|
||||
PlayerAvatar_SetFacingDirection(strct->avatar, strct->Unk00);
|
||||
ov05_021E74F8(strct);
|
||||
sub_020054F0(1624, 0);
|
||||
return TRUE;
|
||||
|
|
|
|||
|
|
@ -1127,11 +1127,11 @@ ov06_02239F04: ; 0x02239F04
|
|||
bl GF_AssertFail
|
||||
_02239F18:
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
lsl r0, r0, #0x10
|
||||
lsr r6, r0, #0x10
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
lsl r0, r0, #0x10
|
||||
lsr r5, r0, #0x10
|
||||
mov r0, #4
|
||||
|
|
@ -4819,10 +4819,10 @@ ov06_0223BA04: ; 0x0223BA04
|
|||
sub sp, #0xb4
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r6, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
str r0, [sp, #0x14]
|
||||
ldr r2, [sp, #0x14]
|
||||
add r0, r5, #0
|
||||
|
|
@ -5351,10 +5351,10 @@ ov06_0223BE70: ; 0x0223BE70
|
|||
add r5, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
str r1, [sp, #0xc]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r4, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r2, r0, #0
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
|
|
@ -5602,10 +5602,10 @@ ov06_0223C08C: ; 0x0223C08C
|
|||
mov r0, #0
|
||||
str r0, [r4]
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r6, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r2, r0, #0
|
||||
add r0, r5, #0
|
||||
add r1, r6, #0
|
||||
|
|
@ -5963,10 +5963,10 @@ _0223C3A6:
|
|||
cmp r4, #0
|
||||
beq _0223C3EC
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r6, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r2, r0, #0
|
||||
add r0, r5, #0
|
||||
add r5, #0x90
|
||||
|
|
@ -15673,10 +15673,10 @@ CheckPastoriaGymButton: ; 0x02241230
|
|||
ldr r0, [r3]
|
||||
str r0, [r2]
|
||||
ldr r0, [r4, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r1, r0, #0
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
|
|
@ -16506,7 +16506,7 @@ MoveHearthomeGymElevator: ; 0x02241914
|
|||
add r4, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
add r1, sp, #0
|
||||
bl sub_02055350
|
||||
bl PlayerAvatar_CopyPositionVector
|
||||
ldr r0, [sp, #4]
|
||||
cmp r0, #0
|
||||
ldr r0, [r5, #0x10]
|
||||
|
|
@ -16593,7 +16593,7 @@ _022419B8:
|
|||
_022419F0:
|
||||
ldr r0, [r5, #0x38]
|
||||
ldr r1, [sp, #4]
|
||||
bl sub_02055540
|
||||
bl PlayerAvatar_SetMapObjectYPosition
|
||||
add r0, r6, #0
|
||||
add r1, sp, #0
|
||||
bl ov05_021E7EB0
|
||||
|
|
@ -16608,7 +16608,7 @@ _02241A02:
|
|||
bl ov05_021F4594
|
||||
ldr r0, [r5, #0x38]
|
||||
mov r1, #1
|
||||
bl sub_0205557C
|
||||
bl PlayerAvatar_ToggleAutomaticHeightUpdatingImmediate
|
||||
ldr r0, _02241A40 ; =0x0000061A
|
||||
bl PlaySE
|
||||
ldr r0, [r4]
|
||||
|
|
@ -16690,7 +16690,7 @@ _02241A88:
|
|||
_02241ABC:
|
||||
ldr r0, [r5, #0x38]
|
||||
ldr r1, [sp, #4]
|
||||
bl sub_02055540
|
||||
bl PlayerAvatar_SetMapObjectYPosition
|
||||
add r0, r6, #0
|
||||
add r1, sp, #0
|
||||
bl ov05_021E7EB0
|
||||
|
|
@ -16704,7 +16704,7 @@ _02241ACE:
|
|||
bl ov05_021F4594
|
||||
ldr r0, [r5, #0x38]
|
||||
mov r1, #1
|
||||
bl sub_0205557C
|
||||
bl PlayerAvatar_ToggleAutomaticHeightUpdatingImmediate
|
||||
ldr r0, _02241B0C ; =0x0000061A
|
||||
bl PlaySE
|
||||
ldr r0, [r4]
|
||||
|
|
@ -16760,7 +16760,7 @@ ov06_02241B40: ; 0x02241B40
|
|||
ldr r0, [r4]
|
||||
add r1, sp, #0
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_02055350
|
||||
bl PlayerAvatar_CopyPositionVector
|
||||
ldr r1, [sp, #4]
|
||||
asr r0, r1, #0xf
|
||||
lsr r0, r0, #0x10
|
||||
|
|
@ -17245,7 +17245,7 @@ _02241F2A:
|
|||
_02241F2E:
|
||||
ldr r0, [r6, #0x38]
|
||||
ldr r1, [sp, #4]
|
||||
bl sub_02055540
|
||||
bl PlayerAvatar_SetMapObjectYPosition
|
||||
add r0, r7, #0
|
||||
add r1, sp, #0
|
||||
bl ov05_021E7EB0
|
||||
|
|
@ -17256,7 +17256,7 @@ _02241F2E:
|
|||
_02241F48:
|
||||
ldr r0, [r6, #0x38]
|
||||
mov r1, #1
|
||||
bl sub_0205557C
|
||||
bl PlayerAvatar_ToggleAutomaticHeightUpdatingImmediate
|
||||
ldr r0, _02241F78 ; =0x0000061A
|
||||
bl PlaySE
|
||||
ldr r0, [r4]
|
||||
|
|
@ -17339,7 +17339,7 @@ _02241FD8:
|
|||
bl ov05_021E7EA0
|
||||
ldr r0, [r7, #0x38]
|
||||
add r1, sp, #4
|
||||
bl sub_02055350
|
||||
bl PlayerAvatar_CopyPositionVector
|
||||
ldr r0, [sp, #4]
|
||||
add r1, r5, #0
|
||||
str r0, [sp, #0x10]
|
||||
|
|
@ -17499,7 +17499,7 @@ _02242128:
|
|||
bl ov05_021E7EA0
|
||||
ldr r0, [r6, #0x38]
|
||||
add r1, sp, #4
|
||||
bl sub_02055350
|
||||
bl PlayerAvatar_CopyPositionVector
|
||||
ldr r0, [sp, #0xc]
|
||||
add r1, r5, #0
|
||||
str r0, [sp, #0x18]
|
||||
|
|
@ -17779,7 +17779,7 @@ _02242342:
|
|||
blt _022422CC
|
||||
ldr r0, [r6, #0x38]
|
||||
add r1, sp, #0x38
|
||||
bl sub_02055350
|
||||
bl PlayerAvatar_CopyPositionVector
|
||||
ldr r0, [sp, #0x14]
|
||||
ldr r1, [sp, #0x3c]
|
||||
bl ov06_02241D90
|
||||
|
|
@ -17916,7 +17916,7 @@ ov06_0224249C: ; 0x0224249C
|
|||
ldr r0, [r0]
|
||||
add r1, sp, #8
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_02055350
|
||||
bl PlayerAvatar_CopyPositionVector
|
||||
ldr r1, [sp, #8]
|
||||
ldr r7, _02242524 ; =0x0224F8B8
|
||||
asr r0, r1, #0xf
|
||||
|
|
@ -19914,10 +19914,10 @@ ov06_022433B8: ; 0x022433B8
|
|||
bl LocalFieldData_GetDynamicWarp
|
||||
add r4, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r6, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
ldr r1, [r5, #0x1c]
|
||||
ldr r1, [r1]
|
||||
str r1, [r4]
|
||||
|
|
@ -23734,11 +23734,11 @@ _02245148:
|
|||
blo _02245132
|
||||
ldr r0, [sp]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
strh r0, [r5, #0x14]
|
||||
ldr r0, [sp]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
strh r0, [r5, #0x16]
|
||||
ldr r0, [sp]
|
||||
ldr r0, [r0, #0x1c]
|
||||
|
|
@ -24255,7 +24255,7 @@ ov06_02245544: ; 0x02245544
|
|||
add r6, r0, #0
|
||||
ldr r0, [r5, #0x38]
|
||||
add r1, sp, #4
|
||||
bl sub_02055350
|
||||
bl PlayerAvatar_CopyPositionVector
|
||||
mov r0, #2
|
||||
ldr r1, [sp, #0xc]
|
||||
lsl r0, r0, #0xe
|
||||
|
|
@ -24286,7 +24286,7 @@ _02245578:
|
|||
cmp r0, #6
|
||||
bhs _022455BC
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
ldr r1, [r4, #0x10]
|
||||
cmp r0, r1
|
||||
ble _022455BC
|
||||
|
|
@ -24302,7 +24302,7 @@ _022455B4:
|
|||
b _02245640
|
||||
_022455BC:
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
ldr r1, [r4, #0x10]
|
||||
cmp r0, r1
|
||||
bgt _02245640
|
||||
|
|
@ -24333,7 +24333,7 @@ _022455E0:
|
|||
cmp r0, #6
|
||||
bhs _0224561E
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
ldr r1, [r4, #0x10]
|
||||
cmp r0, r1
|
||||
bge _0224561E
|
||||
|
|
@ -24349,7 +24349,7 @@ _02245616:
|
|||
b _02245640
|
||||
_0224561E:
|
||||
ldr r0, [r5, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
ldr r1, [r4, #0x10]
|
||||
cmp r0, r1
|
||||
blt _02245640
|
||||
|
|
@ -33893,10 +33893,10 @@ ov06_02249E9C: ; 0x02249E9C
|
|||
sub sp, #0x34
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
bl MapObject_GetPreviousX
|
||||
bl MapObject_GetPreviousXCoord
|
||||
str r0, [sp, #0xc]
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetPreviousZ
|
||||
bl MapObject_GetPreviousZCoord
|
||||
str r0, [sp, #0x10]
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetPositionVectorYCoord
|
||||
|
|
@ -36382,7 +36382,7 @@ ov06_0224B124: ; 0x0224B124
|
|||
add r0, r2, r0
|
||||
str r0, [sp, #0x18]
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetPreviousY
|
||||
bl MapObject_GetPreviousYCoord
|
||||
lsl r1, r0, #0xf
|
||||
mov r0, #2
|
||||
lsl r0, r0, #0xe
|
||||
|
|
@ -36588,7 +36588,7 @@ ov06_0224B2C4: ; 0x0224B2C4
|
|||
add r0, r1, r0
|
||||
str r0, [sp, #0x18]
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetPreviousY
|
||||
bl MapObject_GetPreviousYCoord
|
||||
lsl r1, r0, #0xf
|
||||
mov r0, #2
|
||||
lsl r0, r0, #0xe
|
||||
|
|
@ -36887,13 +36887,13 @@ ov06_0224B568: ; 0x0224B568
|
|||
bl ov05_021E4C24
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
str r0, [sp, #8]
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentY
|
||||
bl MapObject_GetYCoord
|
||||
str r0, [sp, #0xc]
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
str r0, [sp, #0x10]
|
||||
add r0, r4, #0
|
||||
str r4, [sp, #0x18]
|
||||
|
|
@ -37092,10 +37092,10 @@ _0224B710:
|
|||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_0224B72A:
|
||||
add r0, r6, #0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r7, r0, #0
|
||||
add r0, r6, #0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
ldr r1, [r4, #0x18]
|
||||
cmp r1, r7
|
||||
bne _0224B744
|
||||
|
|
@ -37731,10 +37731,10 @@ ov06_0224BBEC: ; 0x0224BBEC
|
|||
str r5, [sp, #0x20]
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r6, r0, #0
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r1, r0, #0
|
||||
add r0, r6, #0
|
||||
add r2, sp, #8
|
||||
|
|
@ -37925,13 +37925,13 @@ ov06_0224BD90: ; 0x0224BD90
|
|||
bl ov05_021E4C24
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
str r0, [sp, #8]
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentY
|
||||
bl MapObject_GetYCoord
|
||||
str r0, [sp, #0xc]
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
str r0, [sp, #0x10]
|
||||
add r0, r4, #0
|
||||
str r4, [sp, #0x18]
|
||||
|
|
@ -38121,10 +38121,10 @@ _0224BF2A:
|
|||
str r0, [r4]
|
||||
_0224BF40:
|
||||
add r0, r6, #0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r7, r0, #0
|
||||
add r0, r6, #0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
ldr r1, [r4, #0x18]
|
||||
cmp r1, r7
|
||||
bne _0224BF5A
|
||||
|
|
@ -38252,13 +38252,13 @@ ov06_0224C038: ; 0x0224C038
|
|||
bl ov05_021E4C24
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
str r0, [sp, #8]
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentY
|
||||
bl MapObject_GetYCoord
|
||||
str r0, [sp, #0xc]
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
str r0, [sp, #0x10]
|
||||
add r0, r4, #0
|
||||
str r4, [sp, #0x18]
|
||||
|
|
@ -38454,10 +38454,10 @@ _0224C1DE:
|
|||
str r0, [r4]
|
||||
_0224C1F4:
|
||||
add r0, r6, #0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r7, r0, #0
|
||||
add r0, r6, #0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
ldr r1, [r4, #0x18]
|
||||
cmp r1, r7
|
||||
bne _0224C20E
|
||||
|
|
@ -40118,10 +40118,10 @@ ov06_0224CECC: ; 0x0224CECC
|
|||
bl ov05_021E4C20
|
||||
add r7, r0, #0
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
str r0, [sp, #8]
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r1, r0, #0
|
||||
ldr r0, [sp, #8]
|
||||
add r2, sp, #0x20
|
||||
|
|
@ -40663,10 +40663,10 @@ ov06_0224D2E0: ; 0x0224D2E0
|
|||
str r5, [sp, #0x20]
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r6, r0, #0
|
||||
add r0, r5, #0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r1, r0, #0
|
||||
add r0, r6, #0
|
||||
add r2, sp, #8
|
||||
|
|
@ -43303,10 +43303,10 @@ ov06_0224E858: ; 0x0224E858
|
|||
add r1, sp, #0
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r6, #0
|
||||
bl MapObject_GetCurrentX
|
||||
bl MapObject_GetXCoord
|
||||
add r5, r0, #0
|
||||
add r0, r6, #0
|
||||
bl MapObject_GetCurrentZ
|
||||
bl MapObject_GetZCoord
|
||||
add r4, r0, #0
|
||||
add r0, r6, #0
|
||||
bl MapObject_GetFacingDirection
|
||||
|
|
@ -43357,12 +43357,12 @@ ov06_0224E8C4: ; 0x0224E8C4
|
|||
add r7, r1, #0
|
||||
add r6, r0, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02055350
|
||||
bl PlayerAvatar_CopyPositionVector
|
||||
add r0, r6, #0
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r5, r0, #0
|
||||
add r0, r6, #0
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r4, r0, #0
|
||||
add r0, r6, #0
|
||||
bl PlayerAvatar_GetFacingDirection
|
||||
|
|
@ -43412,7 +43412,7 @@ ov06_0224E92C: ; 0x0224E92C
|
|||
sub sp, #0xc
|
||||
add r4, r1, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02055350
|
||||
bl PlayerAvatar_CopyPositionVector
|
||||
ldr r1, [sp]
|
||||
ldr r2, [sp, #4]
|
||||
ldr r3, [sp, #8]
|
||||
|
|
@ -44046,7 +44046,7 @@ ov06_0224EDB0: ; 0x0224EDB0
|
|||
_0224EDC8:
|
||||
add r0, r6, #0
|
||||
add r1, sp, #0
|
||||
bl sub_02055350
|
||||
bl PlayerAvatar_CopyPositionVector
|
||||
ldr r2, [sp, #4]
|
||||
ldr r3, [sp, #8]
|
||||
ldr r1, [sp]
|
||||
|
|
@ -44182,7 +44182,7 @@ ov06_0224EEC8: ; 0x0224EEC8
|
|||
ldr r0, [r4, r0]
|
||||
add r1, sp, #0
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_02055350
|
||||
bl PlayerAvatar_CopyPositionVector
|
||||
mov r1, #0xcf
|
||||
lsl r1, r1, #4
|
||||
ldr r2, [sp]
|
||||
|
|
@ -44346,7 +44346,7 @@ _0224EFF0:
|
|||
add r1, #0x10
|
||||
ldr r0, [r0, #0x38]
|
||||
add r1, r5, r1
|
||||
bl sub_02055350
|
||||
bl PlayerAvatar_CopyPositionVector
|
||||
ldr r0, _0224F028 ; =0x00000D0C
|
||||
mov r1, #0
|
||||
str r1, [r5, r0]
|
||||
|
|
|
|||
|
|
@ -13403,7 +13403,7 @@ ov18_0223FD8C: ; 0x0223FD8C
|
|||
ldr r0, [r0, #4]
|
||||
ldr r0, [r0, #0x40]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_02055304
|
||||
bl PlayerAvatar_SetFacingDirection
|
||||
bl sub_02031190
|
||||
ldr r1, _0223FDE0 ; =0x022513A0
|
||||
lsl r0, r0, #3
|
||||
|
|
@ -13445,13 +13445,13 @@ ov18_0223FDEC: ; 0x0223FDEC
|
|||
ldr r0, [r0, #4]
|
||||
ldr r0, [r0, #0x40]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
str r0, [sp]
|
||||
ldr r0, _0223FE64 ; =0x022513A0
|
||||
ldr r0, [r0, #4]
|
||||
ldr r0, [r0, #0x40]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r7, r0, #0
|
||||
add r0, r4, #0
|
||||
bl sub_0204F610
|
||||
|
|
@ -13866,13 +13866,13 @@ ov18_022400A0: ; 0x022400A0
|
|||
ldr r0, [r0, #4]
|
||||
ldr r0, [r0, #0x40]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r4, r0, #0
|
||||
ldr r0, _022400F8 ; =0x022513A0
|
||||
ldr r0, [r0, #4]
|
||||
ldr r0, [r0, #0x40]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r3, r0, #0
|
||||
ldr r0, _022400F8 ; =0x022513A0
|
||||
add r1, r4, #0
|
||||
|
|
@ -15773,7 +15773,7 @@ ov18_02240F34: ; 0x02240F34
|
|||
ldr r0, [r1, #0x40]
|
||||
mov r1, #0
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_02055540
|
||||
bl PlayerAvatar_SetMapObjectYPosition
|
||||
ldr r0, _02240F80 ; =0x022513A0
|
||||
ldr r1, [r0, #4]
|
||||
mov r0, #0xa3
|
||||
|
|
@ -15837,7 +15837,7 @@ _02240FB4:
|
|||
ldr r0, [r0, #4]
|
||||
ldr r0, [r0, #0x40]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_02055540
|
||||
bl PlayerAvatar_SetMapObjectYPosition
|
||||
ldr r0, _02241000 ; =0x022513A0
|
||||
ldr r1, [r0, #4]
|
||||
mov r0, #0xa3
|
||||
|
|
@ -16012,13 +16012,13 @@ _0224110C:
|
|||
ldr r0, [r0, #4]
|
||||
ldr r0, [r0, #0x40]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r5, r0, #0
|
||||
ldr r0, _02241278 ; =0x022513A0
|
||||
ldr r0, [r0, #4]
|
||||
ldr r0, [r0, #0x40]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #8]
|
||||
cmp r0, #0
|
||||
|
|
@ -16037,7 +16037,7 @@ _0224110C:
|
|||
ldr r0, [r0, #4]
|
||||
ldr r0, [r0, #0x40]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_02055540
|
||||
bl PlayerAvatar_SetMapObjectYPosition
|
||||
add sp, #0x14
|
||||
pop {r4, r5, pc}
|
||||
_02241166:
|
||||
|
|
@ -16055,7 +16055,7 @@ _02241166:
|
|||
ldr r0, [r0, #4]
|
||||
ldr r0, [r0, #0x40]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_02055540
|
||||
bl PlayerAvatar_SetMapObjectYPosition
|
||||
add sp, #0x14
|
||||
pop {r4, r5, pc}
|
||||
_0224118C:
|
||||
|
|
@ -16082,7 +16082,7 @@ _022411B0:
|
|||
ldr r0, [r0, #4]
|
||||
ldr r0, [r0, #0x40]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_02055540
|
||||
bl PlayerAvatar_SetMapObjectYPosition
|
||||
add r0, r4, #0
|
||||
bl FreeToHeap
|
||||
add r0, r5, #0
|
||||
|
|
@ -16143,7 +16143,7 @@ _02241222:
|
|||
ldr r0, [r0, #4]
|
||||
ldr r0, [r0, #0x40]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl sub_02055540
|
||||
bl PlayerAvatar_SetMapObjectYPosition
|
||||
ldr r0, [r4, #0x10]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0x10]
|
||||
|
|
@ -19203,13 +19203,13 @@ _02242A20:
|
|||
ldr r0, [r0, #4]
|
||||
ldr r0, [r0, #0x40]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r5, r0, #0
|
||||
ldr r0, _02242D68 ; =0x022513A0
|
||||
ldr r0, [r0, #4]
|
||||
ldr r0, [r0, #0x40]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r2, r0, #0
|
||||
mov r0, #0x20
|
||||
str r0, [sp]
|
||||
|
|
@ -22803,10 +22803,10 @@ _02244640:
|
|||
cmp r0, #0
|
||||
bne _0224467E
|
||||
ldr r0, [sp]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
str r0, [r5]
|
||||
ldr r0, [sp]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
str r0, [r5, #4]
|
||||
b _022446AA
|
||||
_0224467E:
|
||||
|
|
@ -26574,13 +26574,13 @@ ov18_02246338: ; 0x02246338
|
|||
ldr r0, [r0, #0x38]
|
||||
cmp r0, #0
|
||||
beq _0224640E
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r4, r0, #0
|
||||
ldr r0, _02246414 ; =0x022513EC
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r1, r0, #0
|
||||
add r0, r4, #0
|
||||
bl ov18_0223E2F4
|
||||
|
|
@ -35021,11 +35021,11 @@ ov18_0224A6B4: ; 0x0224A6B4
|
|||
bl ov18_022498EC
|
||||
ldr r0, [r5, #0xc]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
add r4, r0, #0
|
||||
ldr r0, [r5, #0xc]
|
||||
ldr r0, [r0, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
add r1, r0, #0
|
||||
add r0, r4, #0
|
||||
bl ov18_0223E2F4
|
||||
|
|
@ -37188,14 +37188,14 @@ ov18_0224B804: ; 0x0224B804
|
|||
add r4, r1, #0
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r4, #0x38]
|
||||
bl GetPlayerXCoord
|
||||
bl PlayerAvatar_GetXCoord
|
||||
lsl r1, r0, #0x10
|
||||
mov r0, #0xf
|
||||
lsl r0, r0, #0x10
|
||||
sub r0, r0, r1
|
||||
str r0, [sp]
|
||||
ldr r0, [r4, #0x38]
|
||||
bl GetPlayerZCoord
|
||||
bl PlayerAvatar_GetZCoord
|
||||
lsl r1, r0, #0x10
|
||||
mov r0, #0x11
|
||||
lsl r0, r0, #0x10
|
||||
|
|
@ -37268,7 +37268,7 @@ _0224B8A4:
|
|||
beq _0224B970
|
||||
ldr r0, [r4, #0x38]
|
||||
mov r1, #0
|
||||
bl sub_0205537C
|
||||
bl PlayerAvatar_ToggleVisible
|
||||
mov r0, #1
|
||||
add r1, r4, #0
|
||||
bl ov18_0224B804
|
||||
|
|
@ -37318,7 +37318,7 @@ _0224B912:
|
|||
beq _0224B970
|
||||
ldr r0, [r4, #0x38]
|
||||
mov r1, #1
|
||||
bl sub_0205537C
|
||||
bl PlayerAvatar_ToggleVisible
|
||||
mov r0, #0
|
||||
add r1, r4, #0
|
||||
bl ov18_0224B804
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
struct ov59_UnkPlayerStruct {
|
||||
u8 padding[0x4];
|
||||
PlayerGender gender;
|
||||
u32 gender;
|
||||
u8 padding2[0x10];
|
||||
struct String *name;
|
||||
};
|
||||
|
|
@ -46,7 +46,7 @@ typedef struct ov59_IntroOverlayData {
|
|||
u32 fadeCounter;
|
||||
fx32 alphaBlend1;
|
||||
fx32 alphaBlend2;
|
||||
PlayerGender selectedGender;
|
||||
u32 selectedGender;
|
||||
u8 scrnDataIndexMain;
|
||||
u8 spriteDataIndex0;
|
||||
u8 spriteDataIndex1;
|
||||
|
|
|
|||
|
|
@ -126,19 +126,19 @@ void SetScreenModeAndDisable(const struct GraphicsModes *gfxModes, enum GFScreen
|
|||
}
|
||||
|
||||
void InitBgFromTemplate(BgConfig *bgConfig, u8 bgId, const BgTemplate *template, u8 bgMode) {
|
||||
u8 screenSize = TranslateGFBgModePairToGXScreenSize((enum GFBgScreenSize) template->size, (enum GFBgType)bgMode);
|
||||
u8 screenSize = TranslateGFBgModePairToGXScreenSize((enum GFBgScreenSize)template->size, (enum GFBgType)bgMode);
|
||||
|
||||
switch (bgId) {
|
||||
case GF_BG_LYR_MAIN_0:
|
||||
GfGfx_EngineATogglePlanes(GF_BG_LYR_MAIN_0_F, GX_PLANE_TOGGLE_ON);
|
||||
G2_SetBG0Control((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase, (GXBGExtPltt) template->bgExtPltt);
|
||||
G2_SetBG0Control((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase, (GXBGExtPltt)template->bgExtPltt);
|
||||
G2_SetBG0Priority(template->priority);
|
||||
G2_BG0Mosaic(template->mosaic);
|
||||
break;
|
||||
|
||||
case GF_BG_LYR_MAIN_1:
|
||||
GfGfx_EngineATogglePlanes(GF_BG_LYR_MAIN_1_F, GX_PLANE_TOGGLE_ON);
|
||||
G2_SetBG1Control((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase, (GXBGExtPltt) template->bgExtPltt);
|
||||
G2_SetBG1Control((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase, (GXBGExtPltt)template->bgExtPltt);
|
||||
G2_SetBG1Priority(template->priority);
|
||||
G2_BG1Mosaic(template->mosaic);
|
||||
break;
|
||||
|
|
@ -148,13 +148,13 @@ void InitBgFromTemplate(BgConfig *bgConfig, u8 bgId, const BgTemplate *template,
|
|||
switch (bgMode) {
|
||||
default:
|
||||
case GF_BG_TYPE_TEXT:
|
||||
G2_SetBG2ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
|
||||
G2_SetBG2ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
|
||||
break;
|
||||
case GF_BG_TYPE_AFFINE:
|
||||
G2_SetBG2ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
|
||||
G2_SetBG2ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
|
||||
break;
|
||||
case GF_BG_TYPE_256x16PLTT:
|
||||
G2_SetBG2Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
|
||||
G2_SetBG2Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
|
||||
break;
|
||||
}
|
||||
G2_SetBG2Priority(template->priority);
|
||||
|
|
@ -166,13 +166,13 @@ void InitBgFromTemplate(BgConfig *bgConfig, u8 bgId, const BgTemplate *template,
|
|||
switch (bgMode) {
|
||||
default:
|
||||
case GF_BG_TYPE_TEXT:
|
||||
G2_SetBG3ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
|
||||
G2_SetBG3ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
|
||||
break;
|
||||
case GF_BG_TYPE_AFFINE:
|
||||
G2_SetBG3ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
|
||||
G2_SetBG3ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
|
||||
break;
|
||||
case GF_BG_TYPE_256x16PLTT:
|
||||
G2_SetBG3Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
|
||||
G2_SetBG3Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
|
||||
break;
|
||||
}
|
||||
G2_SetBG3Priority(template->priority);
|
||||
|
|
@ -181,14 +181,14 @@ void InitBgFromTemplate(BgConfig *bgConfig, u8 bgId, const BgTemplate *template,
|
|||
|
||||
case GF_BG_LYR_SUB_0:
|
||||
GfGfx_EngineBTogglePlanes(GF_BG_LYR_SUB_0_F, GX_PLANE_TOGGLE_ON);
|
||||
G2S_SetBG0Control((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase, (GXBGExtPltt) template->bgExtPltt);
|
||||
G2S_SetBG0Control((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase, (GXBGExtPltt)template->bgExtPltt);
|
||||
G2S_SetBG0Priority(template->priority);
|
||||
G2S_BG0Mosaic(template->mosaic);
|
||||
break;
|
||||
|
||||
case GF_BG_LYR_SUB_1:
|
||||
GfGfx_EngineBTogglePlanes(GF_BG_LYR_SUB_1_F, GX_PLANE_TOGGLE_ON);
|
||||
G2S_SetBG1Control((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase, (GXBGExtPltt) template->bgExtPltt);
|
||||
G2S_SetBG1Control((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase, (GXBGExtPltt)template->bgExtPltt);
|
||||
G2S_SetBG1Priority(template->priority);
|
||||
G2S_BG1Mosaic(template->mosaic);
|
||||
break;
|
||||
|
|
@ -198,13 +198,13 @@ void InitBgFromTemplate(BgConfig *bgConfig, u8 bgId, const BgTemplate *template,
|
|||
switch (bgMode) {
|
||||
default:
|
||||
case GF_BG_TYPE_TEXT:
|
||||
G2S_SetBG2ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
|
||||
G2S_SetBG2ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
|
||||
break;
|
||||
case GF_BG_TYPE_AFFINE:
|
||||
G2S_SetBG2ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
|
||||
G2S_SetBG2ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
|
||||
break;
|
||||
case GF_BG_TYPE_256x16PLTT:
|
||||
G2S_SetBG2Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
|
||||
G2S_SetBG2Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
|
||||
break;
|
||||
}
|
||||
G2S_SetBG2Priority(template->priority);
|
||||
|
|
@ -216,13 +216,13 @@ void InitBgFromTemplate(BgConfig *bgConfig, u8 bgId, const BgTemplate *template,
|
|||
switch (bgMode) {
|
||||
default:
|
||||
case GF_BG_TYPE_TEXT:
|
||||
G2S_SetBG3ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
|
||||
G2S_SetBG3ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
|
||||
break;
|
||||
case GF_BG_TYPE_AFFINE:
|
||||
G2S_SetBG3ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
|
||||
G2S_SetBG3ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
|
||||
break;
|
||||
case GF_BG_TYPE_256x16PLTT:
|
||||
G2S_SetBG3Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase);
|
||||
G2S_SetBG3Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase);
|
||||
break;
|
||||
}
|
||||
G2S_SetBG3Priority(template->priority);
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
#include "map_header.h"
|
||||
#include "map_object.h"
|
||||
#include "overlay_06.h"
|
||||
#include "player_avatar.h"
|
||||
#include "player_data.h"
|
||||
#include "save_local_field_data.h"
|
||||
#include "start_menu.h"
|
||||
|
|
@ -60,12 +61,9 @@ static void FieldMove_UseChatter(FieldMoveUseData *useData, const FieldMoveCheck
|
|||
static BOOL Task_UseChatterInField(TaskManager *taskManager);
|
||||
|
||||
extern void FieldSystem_GetFacingObject(FieldSystem *fieldSystem, LocalMapObject **object);
|
||||
extern u16 GetPlayerXCoord(PlayerAvatar *playerAvatar);
|
||||
extern u16 GetPlayerZCoord(PlayerAvatar *playerAvatar);
|
||||
extern u8 GetMetatileBehavior(FieldSystem *fieldSystem, s32 x, s32 z);
|
||||
extern void PlayerAvatar_GetCoordsInFront(PlayerAvatar *playerAvatar, s32 *x, s32 *z);
|
||||
extern BOOL Field_PlayerCanSurfOnTile(PlayerAvatar *fieldPlayerAvatar, u32 standingTile, u32 facingTile);
|
||||
extern u32 PlayerAvatar_GetFacingDirection(PlayerAvatar *playerAvatar);
|
||||
extern BOOL MetatileBehavior_IsRockClimbInDirection(u32 facingTile, u32 facingDirection);
|
||||
extern BOOL MetatileBehavior_IsWaterfall(u8 facingTile);
|
||||
extern LocalFieldData *Save_LocalFieldData_Get(SaveData *save);
|
||||
|
|
@ -76,7 +74,6 @@ extern BOOL Task_UseFlyInField(TaskManager *taksManager);
|
|||
extern void TownMap_Init(FieldSystem *fieldSystem, TownMapAppData *townMap, u32 param2);
|
||||
extern void TownMap_Show(FieldSystem *fieldSystem, TownMapAppData *townMap);
|
||||
extern void StartMenu_SetExitTaskFunc(StartMenuTaskData *startMenu, TaskFunc taskFunc);
|
||||
extern u32 PlayerAvatar_GetState(PlayerAvatar *avatar);
|
||||
extern FieldMoveTaskEnvironment *FieldMoveTask_CreateTeleportEnvironment(FieldSystem *fieldSystem, Pokemon *mon, HeapID heapId);
|
||||
extern BOOL Task_FieldTeleport(TaskManager *taskManager);
|
||||
extern FieldMoveTaskEnvironment *FieldMoveTask_CreateDigEnvironment(FieldSystem *fieldSystem, Pokemon *mon, HeapID heapId);
|
||||
|
|
@ -157,8 +154,8 @@ void FieldMove_InitCheckData(FieldSystem *fieldSystem, FieldMoveCheckData *check
|
|||
}
|
||||
}
|
||||
|
||||
s32 x = GetPlayerXCoord(fieldSystem->playerAvatar);
|
||||
s32 z = GetPlayerZCoord(fieldSystem->playerAvatar);
|
||||
u32 x = PlayerAvatar_GetXCoord(fieldSystem->playerAvatar);
|
||||
u32 z = PlayerAvatar_GetZCoord(fieldSystem->playerAvatar);
|
||||
u32 standingTile = GetMetatileBehavior(fieldSystem, x, z);
|
||||
|
||||
PlayerAvatar_GetCoordsInFront(fieldSystem->playerAvatar, &x, &z);
|
||||
|
|
|
|||
|
|
@ -24,13 +24,13 @@ static void sub_02057CF0(MapObjectManager *manager, LocalMapObject *object);
|
|||
static void MapObject_InitFromObjectEvent(LocalMapObject *object, ObjectEvent *objectEvent, FieldSystem *fieldSystem);
|
||||
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_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 objectId, u32 mapId);
|
||||
static void sub_02058148(LocalMapObject *object);
|
||||
/*static*/ void sub_0205815C(LocalMapObject *object);
|
||||
static void sub_0205815C(LocalMapObject *object);
|
||||
static void MapObject_NoOp(LocalMapObject *object);
|
||||
static u32 FieldSystem_ResolveObjectSpriteID(FieldSystem *fieldSystem, s32 spriteId);
|
||||
static void sub_0205818C(LocalMapObject *object);
|
||||
|
|
@ -55,7 +55,7 @@ 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 void MapObject_SetMovement(LocalMapObject *object, u32 movement);
|
||||
static u32 MapObject_GetEventFlag(LocalMapObject *object);
|
||||
static void MapObject_SetInitialFacingDirection(LocalMapObject *object, u32 initialFacing);
|
||||
static void sub_02058554(LocalMapObject *object, SysTask *sysTask);
|
||||
|
|
@ -66,7 +66,7 @@ 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);
|
||||
/*static*/ void sub_02058660(LocalMapObject *object);
|
||||
static void sub_02058660(LocalMapObject *object);
|
||||
static void sub_0205866C(LocalMapObject *object);
|
||||
static void sub_02058684(LocalMapObject *object, LocalMapObject_UnkCallback callback);
|
||||
static void sub_0205868C(LocalMapObject *object);
|
||||
|
|
@ -423,9 +423,9 @@ static void SavedMapObject_InitFromLocalMapObject(FieldSystem *fieldSystem, Loca
|
|||
savedObject->initialX = MapObject_GetInitialX(localObject);
|
||||
savedObject->initialY = MapObject_GetInitialY(localObject);
|
||||
savedObject->initialZ = MapObject_GetInitialZ(localObject);
|
||||
savedObject->currentX = MapObject_GetCurrentX(localObject);
|
||||
savedObject->currentY = MapObject_GetCurrentY(localObject);
|
||||
savedObject->currentZ = MapObject_GetCurrentZ(localObject);
|
||||
savedObject->currentX = MapObject_GetXCoord(localObject);
|
||||
savedObject->currentY = MapObject_GetYCoord(localObject);
|
||||
savedObject->currentZ = MapObject_GetZCoord(localObject);
|
||||
|
||||
VecFx32 coords;
|
||||
sub_02059E60(savedObject->currentX, savedObject->currentZ, &coords); // some kind of x y vec copy with convertion between int and fx32
|
||||
|
|
@ -496,13 +496,13 @@ static void MapObject_ConvertXZToPositionVec(LocalMapObject *object) {
|
|||
VecFx32 position;
|
||||
MapObject_CopyPositionVector(object, &position);
|
||||
|
||||
u32 x = MapObject_GetCurrentX(object);
|
||||
u32 x = MapObject_GetXCoord(object);
|
||||
position.x = x * FX32_CONST(16) + FX32_CONST(8);
|
||||
MapObject_SetPreviousX(object, x);
|
||||
|
||||
MapObject_SetPreviousY(object, MapObject_GetCurrentY(object));
|
||||
MapObject_SetPreviousY(object, MapObject_GetYCoord(object));
|
||||
|
||||
u32 z = MapObject_GetCurrentZ(object);
|
||||
u32 z = MapObject_GetZCoord(object);
|
||||
position.z = z * FX32_CONST(16) + FX32_CONST(8);
|
||||
MapObject_SetPreviousZ(object, z);
|
||||
|
||||
|
|
@ -637,7 +637,7 @@ static void sub_02057E90(LocalMapObject *object, MapObjectManager *manager) { //
|
|||
MapObject_ClearHeldMovement(object);
|
||||
}
|
||||
|
||||
/*static*/ void sub_02057EE0(LocalMapObject *object) {
|
||||
static void sub_02057EE0(LocalMapObject *object) {
|
||||
UnkLMOCallbackStruct *unk = sub_02058D14(MapObject_GetMovement(object));
|
||||
sub_02058630(object, sub_02058D2C(unk));
|
||||
sub_02058644(object, sub_02058D30(unk));
|
||||
|
|
@ -760,7 +760,7 @@ static void sub_02058148(LocalMapObject *object) {
|
|||
sub_0205815C(object);
|
||||
}
|
||||
|
||||
/*static*/ void sub_0205815C(LocalMapObject *object) {
|
||||
static void sub_0205815C(LocalMapObject *object) {
|
||||
MapObject_ClearFlagsBits(object, (MapObjectFlagBits)(MAPOBJECTFLAG_UNK26 | MAPOBJECTFLAG_UNK24 | MAPOBJECTFLAG_UNK20 | MAPOBJECTFLAG_UNK15));
|
||||
}
|
||||
|
||||
|
|
@ -1037,7 +1037,7 @@ u32 sub_0205845C(LocalMapObject *object) {
|
|||
return spriteId;
|
||||
}
|
||||
|
||||
/*static*/ void MapObject_SetMovement(LocalMapObject *object, u32 movement) {
|
||||
static void MapObject_SetMovement(LocalMapObject *object, u32 movement) {
|
||||
object->movement = movement;
|
||||
}
|
||||
|
||||
|
|
@ -1258,7 +1258,7 @@ static void sub_02058658(LocalMapObject *object, LocalMapObject_UnkCallback call
|
|||
object->unkC0 = callback;
|
||||
}
|
||||
|
||||
/*static*/ void sub_02058660(LocalMapObject *object) {
|
||||
static void sub_02058660(LocalMapObject *object) {
|
||||
object->unkC0(object);
|
||||
}
|
||||
|
||||
|
|
@ -1618,7 +1618,7 @@ static void MapObject_SetInitialZ(LocalMapObject *object, u32 initialY) {
|
|||
object->initialZ = initialY;
|
||||
}
|
||||
|
||||
u32 MapObject_GetPreviousX(LocalMapObject *object) {
|
||||
u32 MapObject_GetPreviousXCoord(LocalMapObject *object) {
|
||||
return object->previousX;
|
||||
}
|
||||
|
||||
|
|
@ -1626,7 +1626,7 @@ void MapObject_SetPreviousX(LocalMapObject *object, u32 previousX) {
|
|||
object->previousX = previousX;
|
||||
}
|
||||
|
||||
u32 MapObject_GetPreviousY(LocalMapObject *object) {
|
||||
u32 MapObject_GetPreviousYCoord(LocalMapObject *object) {
|
||||
return object->previousY;
|
||||
}
|
||||
|
||||
|
|
@ -1634,7 +1634,7 @@ void MapObject_SetPreviousY(LocalMapObject *object, u32 previousY) {
|
|||
object->previousY = previousY;
|
||||
}
|
||||
|
||||
u32 MapObject_GetPreviousZ(LocalMapObject *object) {
|
||||
u32 MapObject_GetPreviousZCoord(LocalMapObject *object) {
|
||||
return object->previousZ;
|
||||
}
|
||||
|
||||
|
|
@ -1642,7 +1642,7 @@ void MapObject_SetPreviousZ(LocalMapObject *object, u32 previousZ) {
|
|||
object->previousZ = previousZ;
|
||||
}
|
||||
|
||||
u32 MapObject_GetCurrentX(LocalMapObject *object) {
|
||||
u32 MapObject_GetXCoord(LocalMapObject *object) {
|
||||
return object->currentX;
|
||||
}
|
||||
|
||||
|
|
@ -1654,7 +1654,7 @@ void MapObject_AddCurrentX(LocalMapObject *object, u32 currentX) {
|
|||
object->currentX += currentX;
|
||||
}
|
||||
|
||||
s32 MapObject_GetCurrentY(LocalMapObject *object) {
|
||||
s32 MapObject_GetYCoord(LocalMapObject *object) {
|
||||
return object->currentY;
|
||||
}
|
||||
|
||||
|
|
@ -1666,7 +1666,7 @@ void MapObject_AddCurrentY(LocalMapObject *object, s32 currentY) {
|
|||
object->currentY += currentY;
|
||||
}
|
||||
|
||||
u32 MapObject_GetCurrentZ(LocalMapObject *object) {
|
||||
u32 MapObject_GetZCoord(LocalMapObject *object) {
|
||||
return object->currentZ;
|
||||
}
|
||||
|
||||
|
|
@ -1932,7 +1932,7 @@ LocalMapObject *MapObjectManager_GetFirstObjectWithXAndZ(MapObjectManager *manag
|
|||
|
||||
do {
|
||||
if (MapObject_GetFlagsBitsMask(objects, MAPOBJECTFLAG_ACTIVE) != 0) {
|
||||
if (x == MapObject_GetCurrentX(objects) && z == MapObject_GetCurrentZ(objects)) {
|
||||
if (x == MapObject_GetXCoord(objects) && z == MapObject_GetZCoord(objects)) {
|
||||
return objects;
|
||||
}
|
||||
}
|
||||
|
|
@ -1944,7 +1944,7 @@ LocalMapObject *MapObjectManager_GetFirstObjectWithXAndZ(MapObjectManager *manag
|
|||
return NULL;
|
||||
}
|
||||
|
||||
void LocalMapObject_SetPositionFromVectorAndDirection(LocalMapObject *object, VecFx32 *positionVector, u32 direction) {
|
||||
void MapObject_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);
|
||||
|
|
|
|||
611
arm9/src/player_avatar.c
Normal file
611
arm9/src/player_avatar.c
Normal file
|
|
@ -0,0 +1,611 @@
|
|||
#include "player_avatar.h"
|
||||
|
||||
#include "global.h"
|
||||
|
||||
#include "constants/sprites.h"
|
||||
|
||||
#include "map_object.h"
|
||||
#include "scrcmd.h"
|
||||
|
||||
static PlayerAvatar *PlayerAvatar_Create(void);
|
||||
static void PlayerAvatar_Setup(PlayerAvatar *avatar, s32 state, u32 gender, PlayerSaveData *playerSaveData);
|
||||
static void PlayerAvatar_CreateMapObjectWithParams(PlayerAvatar *avatar, MapObjectManager *manager, u32 sprite, u32 direction, u32 x, u32 z);
|
||||
static LocalMapObject *PlayerAvatar_GetActiveMapObjectWithMovement1(MapObjectManager *manager);
|
||||
static LocalMapObject *PlayerAvatar_GetMapObjectConst(PlayerAvatar *avatar);
|
||||
static void PlayerAvatar_SetGender(PlayerAvatar *avatar, u32 gender);
|
||||
static void PlayerAvatar_SetFlagsBits(PlayerAvatar *avatar, PlayerAvatarFlags flags);
|
||||
static void PlayerAvatar_ClearFlagsBits(PlayerAvatar *avatar, PlayerAvatarFlags flags);
|
||||
static PlayerAvatarFlags PlayerAvatar_GetFlagsBitsMask(PlayerAvatar *avatar, PlayerAvatarFlags flags);
|
||||
static void PlayerAvatar_SetUnk24(PlayerAvatar *avatar, s32 param1);
|
||||
static void PlayerAvatar_SetUnk28(PlayerAvatar *avatar, s32 param1);
|
||||
static void PlayerAvatar_SetPlayerSaveData(PlayerAvatar *avatar, PlayerSaveData *playerSaveData);
|
||||
static u16 PlayerSaveData_GetUnk0(PlayerSaveData *playerSaveData);
|
||||
static void PlayerSaveData_SetUnk0(PlayerSaveData *playerSaveData, u16 unk0);
|
||||
static s32 PlayerSaveData_GetState(PlayerSaveData *playerSaveData);
|
||||
static void PlayerSaveData_SetState(PlayerSaveData *playerSaveData, s32 state);
|
||||
static void PlayerAvatar_SetPlayerSaveDataState(PlayerAvatar *avatar, s32 state);
|
||||
|
||||
extern void ov05_021EDBC8(PlayerAvatar *avatar);
|
||||
extern u32 ov06_0224ABAC(LocalMapObject *mapObject, u32 x, u32 z, u32 direction, u32 param4);
|
||||
extern u32 sub_02059D1C(LocalMapObject *object);
|
||||
|
||||
PlayerAvatar *PlayerAvatar_CreateWithParams(MapObjectManager *manager, u32 x, u32 z, u32 direction, s32 state, u32 gender, PlayerSaveData *playerSaveData) {
|
||||
PlayerAvatar *avatar = PlayerAvatar_Create();
|
||||
PlayerAvatar_Setup(avatar, state, gender, playerSaveData);
|
||||
u32 sprite = PlayerAvatar_GetSpriteByStateAndGender(state, gender);
|
||||
PlayerAvatar_CreateMapObjectWithParams(avatar, manager, sprite, direction, x, z);
|
||||
return avatar;
|
||||
}
|
||||
|
||||
PlayerAvatar *PlayerAvatar_CreateWithActiveMapObject(MapObjectManager *manager, PlayerSaveData *playerSaveData, u32 gender) {
|
||||
PlayerAvatar *avatar = PlayerAvatar_Create();
|
||||
s32 state = PlayerSaveData_GetState(playerSaveData);
|
||||
PlayerAvatar_Setup(avatar, state, gender, playerSaveData);
|
||||
LocalMapObject *mapObject = PlayerAvatar_GetActiveMapObjectWithMovement1(manager);
|
||||
MapObject_SetSpriteID(mapObject, PlayerAvatar_GetSpriteByStateAndGender(state, gender));
|
||||
MapObject_SetFlagsBits(mapObject, (MapObjectFlagBits)(MAPOBJECTFLAG_UNK13 | MAPOBJECTFLAG_KEEP));
|
||||
MapObject_ClearFlagsBits(mapObject, (MapObjectFlagBits)(MAPOBJECTFLAG_UNK8 | MAPOBJECTFLAG_UNK7));
|
||||
MapObject_SetFlag29(mapObject, TRUE);
|
||||
PlayerAvatar_SetMapObject(avatar, mapObject);
|
||||
return avatar;
|
||||
}
|
||||
|
||||
void sub_02055108(PlayerAvatar *avatar) {
|
||||
LocalMapObject *mapObject = PlayerAvatar_GetMapObject(avatar);
|
||||
GF_ASSERT(mapObject != NULL);
|
||||
MapObject_GetManager(mapObject);
|
||||
ov05_021EDBC8(avatar);
|
||||
if (PlayerAvatar_GetState(avatar) == PLAYER_STATE_SURFING) {
|
||||
u32 x = PlayerAvatar_GetXCoord(avatar);
|
||||
u32 z = PlayerAvatar_GetZCoord(avatar);
|
||||
u32 direction = PlayerAvatar_GetFacingDirection(avatar);
|
||||
PlayerAvatar_SetUnk30(avatar, ov06_0224ABAC(mapObject, x, z, direction, 1));
|
||||
}
|
||||
}
|
||||
|
||||
void PlayerAvatar_FreeToHeap(PlayerAvatar *avatar) {
|
||||
FreeToHeap(avatar);
|
||||
}
|
||||
|
||||
void PlayerAvatar_DeleteFromMap(PlayerAvatar *avatar) {
|
||||
MapObject_Remove(PlayerAvatar_GetMapObject(avatar));
|
||||
PlayerAvatar_FreeToHeap(avatar);
|
||||
}
|
||||
|
||||
static PlayerAvatar *PlayerAvatar_Create(void) {
|
||||
PlayerAvatar *avatar = AllocFromHeap(HEAP_ID_FIELD, sizeof(PlayerAvatar));
|
||||
GF_ASSERT(avatar != NULL);
|
||||
memset(avatar, 0, sizeof(PlayerAvatar));
|
||||
return avatar;
|
||||
}
|
||||
|
||||
static void PlayerAvatar_Setup(PlayerAvatar *avatar, s32 state, u32 gender, PlayerSaveData *playerSaveData) {
|
||||
PlayerAvatar_SetPlayerSaveData(avatar, playerSaveData);
|
||||
PlayerAvatar_SetUnk10(avatar, 0);
|
||||
PlayerAvatar_SetUnk14(avatar, 0);
|
||||
PlayerAvatar_SetState(avatar, state);
|
||||
PlayerAvatar_SetGender(avatar, gender);
|
||||
PlayerAvatar_SetTransitionFlags(avatar, 0);
|
||||
PlayerAvatar_ClearUnk20ClearFlag2(avatar);
|
||||
PlayerAvatar_SetUnk24(avatar, -1);
|
||||
PlayerAvatar_SetUnk28(avatar, -1);
|
||||
PlayerAvatar_SetUnk8(avatar, 255); // obj_player?
|
||||
PlayerAvatar_SetFlag1(avatar, TRUE);
|
||||
PlayerAvatar_SetFlag4(avatar, TRUE);
|
||||
}
|
||||
|
||||
static void PlayerAvatar_CreateMapObjectWithParams(PlayerAvatar *avatar, MapObjectManager *manager, u32 sprite, u32 direction, u32 x, u32 z) {
|
||||
LocalMapObject *mapObject = MapObject_Create(manager, x, z, direction, sprite, 1, 1);
|
||||
GF_ASSERT(mapObject != NULL);
|
||||
MapObject_SetID(mapObject, obj_player);
|
||||
MapObject_SetType(mapObject, 0);
|
||||
MapObject_SetEventFlag(mapObject, 0);
|
||||
MapObject_SetScriptID(mapObject, 0);
|
||||
MapObject_SetParam(mapObject, 0, 0);
|
||||
MapObject_SetParam(mapObject, 0, 1);
|
||||
MapObject_SetParam(mapObject, 0, 2);
|
||||
MapObject_SetXRange(mapObject, -1);
|
||||
MapObject_SetYRange(mapObject, -1);
|
||||
MapObject_SetFlagsBits(mapObject, (MapObjectFlagBits)(MAPOBJECTFLAG_UNK13 | MAPOBJECTFLAG_KEEP));
|
||||
MapObject_ClearFlagsBits(mapObject, (MapObjectFlagBits)(MAPOBJECTFLAG_UNK8 | MAPOBJECTFLAG_UNK7));
|
||||
MapObject_SetFlag29(mapObject, TRUE);
|
||||
PlayerAvatar_SetMapObject(avatar, mapObject);
|
||||
}
|
||||
|
||||
LocalMapObject *MapObjectManager_GetFirstActiveObjectWithMovement1(MapObjectManager *manager) {
|
||||
s32 index = 0;
|
||||
LocalMapObject *mapObject = NULL;
|
||||
while (MapObjectManager_GetNextObjectWithFlagFromIndex(manager, &mapObject, &index, MAPOBJECTFLAG_ACTIVE)) {
|
||||
if (MapObject_GetMovement(mapObject) == 1) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return mapObject;
|
||||
}
|
||||
|
||||
static LocalMapObject *PlayerAvatar_GetActiveMapObjectWithMovement1(MapObjectManager *manager) {
|
||||
LocalMapObject *mapObject = MapObjectManager_GetFirstActiveObjectWithMovement1(manager);
|
||||
GF_ASSERT(mapObject != NULL);
|
||||
return mapObject;
|
||||
}
|
||||
|
||||
u32 PlayerAvatar_GetFacingDirection(PlayerAvatar *avatar) {
|
||||
return MapObject_GetFacingDirection(PlayerAvatar_GetMapObject(avatar));
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetFacingDirection(PlayerAvatar *avatar, u32 direction) {
|
||||
MapObject_SetFacingDirection(PlayerAvatar_GetMapObject(avatar), direction);
|
||||
}
|
||||
|
||||
u32 PlayerAvatar_GetNextFacingDirection(PlayerAvatar *avatar) {
|
||||
return MapObject_GetNextFacingDirection(PlayerAvatar_GetMapObject(avatar));
|
||||
}
|
||||
|
||||
u32 PlayerAvatar_GetXCoord(PlayerAvatar *avatar) {
|
||||
return MapObject_GetXCoord(PlayerAvatar_GetMapObject(avatar));
|
||||
}
|
||||
|
||||
u32 PlayerAvatar_GetZCoord(PlayerAvatar *avatar) {
|
||||
return MapObject_GetZCoord(PlayerAvatar_GetMapObject(avatar));
|
||||
}
|
||||
|
||||
u32 PlayerAvatar_GetPreviousXCoord(PlayerAvatar *avatar) {
|
||||
return MapObject_GetPreviousXCoord(PlayerAvatar_GetMapObject(avatar));
|
||||
}
|
||||
|
||||
u32 PlayerAvatar_GetPreviousZCoord(PlayerAvatar *avatar) {
|
||||
return MapObject_GetPreviousZCoord(PlayerAvatar_GetMapObject(avatar));
|
||||
}
|
||||
|
||||
void PlayerAvatar_CopyPositionVector(PlayerAvatar *avatar, VecFx32 *vector) {
|
||||
MapObject_CopyPositionVector(PlayerAvatar_GetMapObject(avatar), vector);
|
||||
}
|
||||
|
||||
VecFx32 *PlayerAvatar_GetPositionVector(PlayerAvatar *avatar) {
|
||||
return MapObject_GetPositionVector(PlayerAvatar_GetMapObjectConst(avatar));
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetUnk10(PlayerAvatar *avatar, u32 param1) {
|
||||
avatar->unk10 = param1;
|
||||
}
|
||||
|
||||
u32 PlayerAvatar_GetUnk10(PlayerAvatar *avatar) {
|
||||
return avatar->unk10;
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetUnk14(PlayerAvatar *avatar, u32 param1) {
|
||||
avatar->unk14 = param1;
|
||||
}
|
||||
|
||||
u32 PlayerAvatar_GetUnk14(PlayerAvatar *avatar) {
|
||||
return avatar->unk14;
|
||||
}
|
||||
|
||||
void PlayerAvatar_ToggleVisible(PlayerAvatar *avatar, BOOL invisible) {
|
||||
LocalMapObject *mapObject = PlayerAvatar_GetMapObject(avatar);
|
||||
if (invisible == TRUE) {
|
||||
MapObject_ClearFlagsBits(mapObject, MAPOBJECTFLAG_VISIBLE);
|
||||
} else {
|
||||
MapObject_SetFlagsBits(mapObject, MAPOBJECTFLAG_VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetMapObject(PlayerAvatar *avatar, LocalMapObject *mapObject) {
|
||||
avatar->mapObject = mapObject;
|
||||
}
|
||||
|
||||
LocalMapObject *PlayerAvatar_GetMapObject(PlayerAvatar *avatar) {
|
||||
return avatar->mapObject;
|
||||
}
|
||||
|
||||
static LocalMapObject *PlayerAvatar_GetMapObjectConst(PlayerAvatar *avatar) {
|
||||
return avatar->mapObject;
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetState(PlayerAvatar *avatar, s32 state) {
|
||||
GF_ASSERT(state < PLAYER_STATE_USE_HM);
|
||||
avatar->state = state;
|
||||
PlayerAvatar_SetPlayerSaveDataState(avatar, state);
|
||||
}
|
||||
|
||||
s32 PlayerAvatar_GetState(PlayerAvatar *avatar) {
|
||||
GF_ASSERT(avatar != NULL);
|
||||
return avatar->state;
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetTransitionFlagsBits(PlayerAvatar *avatar, u32 flags) {
|
||||
avatar->transitionFlags |= flags;
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetTransitionFlags(PlayerAvatar *avatar, u32 flags) {
|
||||
avatar->transitionFlags = flags;
|
||||
}
|
||||
|
||||
u32 PlayerAvatar_GetTransitionFlags(PlayerAvatar *avatar) {
|
||||
return avatar->transitionFlags;
|
||||
}
|
||||
|
||||
static void PlayerAvatar_SetGender(PlayerAvatar *avatar, u32 gender) {
|
||||
avatar->gender = gender;
|
||||
}
|
||||
|
||||
u32 PlayerAvatar_GetGender(PlayerAvatar *avatar) {
|
||||
return avatar->gender;
|
||||
}
|
||||
|
||||
static void PlayerAvatar_SetFlagsBits(PlayerAvatar *avatar, PlayerAvatarFlags flags) {
|
||||
avatar->flags |= flags;
|
||||
}
|
||||
|
||||
static void PlayerAvatar_ClearFlagsBits(PlayerAvatar *avatar, PlayerAvatarFlags flags) {
|
||||
avatar->flags &= ~flags;
|
||||
}
|
||||
|
||||
static PlayerAvatarFlags PlayerAvatar_GetFlagsBitsMask(PlayerAvatar *avatar, PlayerAvatarFlags flags) {
|
||||
return (PlayerAvatarFlags)(avatar->flags & flags);
|
||||
}
|
||||
|
||||
s32 PlayerAvatar_GetUnk20(PlayerAvatar *avatar) {
|
||||
return avatar->unk20;
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetUnk20(PlayerAvatar *avatar, s32 param1) {
|
||||
avatar->unk20 = param1;
|
||||
}
|
||||
|
||||
void PlayerAvatar_ClearUnk20ClearFlag2(PlayerAvatar *avatar) {
|
||||
avatar->unk20 = 0;
|
||||
PlayerAvatar_SetFlag2(avatar, FALSE);
|
||||
}
|
||||
|
||||
s32 PlayerAvatar_Unk20AddWithCeiling(PlayerAvatar *avatar, s32 param1, s32 param2) {
|
||||
s32 var = avatar->unk20 + param1;
|
||||
avatar->unk20 = var;
|
||||
if (var > param2) {
|
||||
avatar->unk20 = param2;
|
||||
}
|
||||
return avatar->unk20;
|
||||
}
|
||||
|
||||
static void PlayerAvatar_SetUnk24(PlayerAvatar *avatar, s32 param1) {
|
||||
avatar->unk24 = param1;
|
||||
}
|
||||
|
||||
s32 PlayerAvatar_GetUnk24(PlayerAvatar *avatar) {
|
||||
return avatar->unk24;
|
||||
}
|
||||
|
||||
static void PlayerAvatar_SetUnk28(PlayerAvatar *avatar, s32 param1) {
|
||||
avatar->unk28 = param1;
|
||||
}
|
||||
|
||||
s32 PlayerAvatar_GetUnk28(PlayerAvatar *avatar) {
|
||||
return avatar->unk28;
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetUnk24Unk28(PlayerAvatar *avatar, s32 unk24, s32 unk28) {
|
||||
PlayerAvatar_SetUnk24(avatar, unk24);
|
||||
PlayerAvatar_SetUnk28(avatar, unk28);
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetUnk30(PlayerAvatar *avatar, u32 param1) {
|
||||
avatar->unk30 = param1;
|
||||
}
|
||||
|
||||
u32 PlayerAvatar_GetUnk30(PlayerAvatar *avatar) {
|
||||
return avatar->unk30;
|
||||
}
|
||||
|
||||
static void PlayerAvatar_SetPlayerSaveData(PlayerAvatar *avatar, PlayerSaveData *playerSaveData) {
|
||||
avatar->playerSaveData = playerSaveData;
|
||||
}
|
||||
|
||||
PlayerSaveData *PlayerAvatar_GetPlayerSaveData(PlayerAvatar *avatar) {
|
||||
return avatar->playerSaveData;
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetUnk8(PlayerAvatar *avatar, u32 param1) {
|
||||
avatar->unk8 = param1;
|
||||
}
|
||||
|
||||
u32 PlayerAvatar_GetUnk8(PlayerAvatar *avatar) {
|
||||
return avatar->unk8;
|
||||
}
|
||||
|
||||
void PlayerSaveData_Init(PlayerSaveData *playerSaveData) {
|
||||
playerSaveData->unk0 = 0;
|
||||
playerSaveData->hasRunningShoes = FALSE;
|
||||
playerSaveData->state = 0;
|
||||
}
|
||||
|
||||
BOOL PlayerSaveData_CheckRunningShoes(PlayerSaveData *playerSaveData) {
|
||||
if (playerSaveData != NULL && playerSaveData->hasRunningShoes == TRUE) {
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void PlayerSaveData_SetRunningShoesFlag(PlayerSaveData *playerSaveData, BOOL flag) {
|
||||
if (flag == TRUE) {
|
||||
playerSaveData->hasRunningShoes = TRUE;
|
||||
} else {
|
||||
playerSaveData->hasRunningShoes = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
static u16 PlayerSaveData_GetUnk0(PlayerSaveData *playerSaveData) {
|
||||
if (playerSaveData == NULL) {
|
||||
return 0;
|
||||
}
|
||||
return playerSaveData->unk0;
|
||||
}
|
||||
|
||||
static void PlayerSaveData_SetUnk0(PlayerSaveData *playerSaveData, u16 unk0) {
|
||||
if (playerSaveData == NULL) {
|
||||
return;
|
||||
}
|
||||
playerSaveData->unk0 = unk0;
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetPlayerSaveDataUnk0(PlayerAvatar *playerAvatar, u16 unk0) {
|
||||
PlayerSaveData_SetUnk0(PlayerAvatar_GetPlayerSaveData(playerAvatar), unk0);
|
||||
}
|
||||
|
||||
u16 PlayerAvatar_GetPlayerSaveDataUnk0(PlayerAvatar *playerAvatar) {
|
||||
return PlayerSaveData_GetUnk0(PlayerAvatar_GetPlayerSaveData(playerAvatar));
|
||||
}
|
||||
|
||||
static s32 PlayerSaveData_GetState(PlayerSaveData *playerSaveData) {
|
||||
if (!playerSaveData) {
|
||||
return 0;
|
||||
}
|
||||
return playerSaveData->state;
|
||||
}
|
||||
|
||||
static void PlayerSaveData_SetState(PlayerSaveData *playerSaveData, s32 state) {
|
||||
if (!playerSaveData) {
|
||||
return;
|
||||
}
|
||||
playerSaveData->state = state;
|
||||
}
|
||||
|
||||
static void PlayerAvatar_SetPlayerSaveDataState(PlayerAvatar *avatar, s32 state) {
|
||||
PlayerSaveData_SetState(PlayerAvatar_GetPlayerSaveData(avatar), state);
|
||||
}
|
||||
|
||||
void sub_020554EC(PlayerAvatar *avatar, VecFx32 *position, u32 direction) {
|
||||
MapObject_SetPositionFromVectorAndDirection(PlayerAvatar_GetMapObject(avatar), position, direction);
|
||||
PlayerAvatar_SetUnk10(avatar, 0);
|
||||
PlayerAvatar_SetUnk14(avatar, 0);
|
||||
}
|
||||
|
||||
void sub_02055514(PlayerAvatar *avatar, u32 x, u32 z, u32 direction) {
|
||||
MapObject_SetPositionFromXYZAndDirection(PlayerAvatar_GetMapObject(avatar), x, 0, z, direction);
|
||||
PlayerAvatar_SetUnk10(avatar, 0);
|
||||
PlayerAvatar_SetUnk14(avatar, 0);
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetMapObjectYPosition(PlayerAvatar *avatar, fx32 yVal) {
|
||||
LocalMapObject *mapObject = PlayerAvatar_GetMapObject(avatar);
|
||||
VecFx32 position;
|
||||
MapObject_CopyPositionVector(mapObject, &position);
|
||||
position.y = yVal;
|
||||
MapObject_SetPositionVector(mapObject, &position);
|
||||
}
|
||||
|
||||
void PlayerAvatar_ToggleAutomaticHeightUpdating(PlayerAvatar *avatar, u8 flag) {
|
||||
LocalMapObject *mapObject = PlayerAvatar_GetMapObject(avatar);
|
||||
if (flag == TRUE) {
|
||||
MapObject_SetIgnoreHeights(mapObject, FALSE);
|
||||
} else {
|
||||
MapObject_SetIgnoreHeights(mapObject, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
void PlayerAvatar_ToggleAutomaticHeightUpdatingImmediate(PlayerAvatar *avatar, BOOL flag) {
|
||||
LocalMapObject *mapObject = PlayerAvatar_GetMapObject(avatar);
|
||||
if (flag == TRUE) {
|
||||
MapObject_SetIgnoreHeights(mapObject, FALSE);
|
||||
sub_02059D1C(mapObject);
|
||||
} else {
|
||||
MapObject_SetIgnoreHeights(mapObject, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
u32 PlayerAvatar_GetSpriteByStateAndGender(s32 state, u32 gender) {
|
||||
if (gender == PLAYER_GENDER_MALE) {
|
||||
switch (state) {
|
||||
case PLAYER_STATE_WALKING:
|
||||
return SPRITE_HERO;
|
||||
case PLAYER_STATE_CYCLING:
|
||||
return SPRITE_CYCLEHERO;
|
||||
case PLAYER_STATE_SURFING:
|
||||
return SPRITE_SWIMHERO;
|
||||
case PLAYER_STATE_USE_HM:
|
||||
return SPRITE_SPHERO;
|
||||
case PLAYER_STATE_WATERING:
|
||||
return SPRITE_WATERHERO;
|
||||
case PLAYER_STATE_CONTEST:
|
||||
return SPRITE_CONTESTHERO;
|
||||
case PLAYER_STATE_FISHING:
|
||||
return SPRITE_FISHINGHERO;
|
||||
case PLAYER_STATE_POKETCH:
|
||||
return SPRITE_POKEHERO;
|
||||
case PLAYER_STATE_SAVING:
|
||||
return SPRITE_SAVEHERO;
|
||||
case PLAYER_STATE_HEAL:
|
||||
return SPRITE_BANZAIHERO;
|
||||
}
|
||||
} else {
|
||||
switch (state) {
|
||||
case PLAYER_STATE_WALKING:
|
||||
return SPRITE_HEROINE;
|
||||
case PLAYER_STATE_CYCLING:
|
||||
return SPRITE_CYCLEHEROINE;
|
||||
case PLAYER_STATE_SURFING:
|
||||
return SPRITE_SWIMHEROINE;
|
||||
case PLAYER_STATE_USE_HM:
|
||||
return SPRITE_SPHEROINE;
|
||||
case PLAYER_STATE_WATERING:
|
||||
return SPRITE_WATERHEROINE;
|
||||
case PLAYER_STATE_CONTEST:
|
||||
return SPRITE_CONT_HEROINE;
|
||||
case PLAYER_STATE_FISHING:
|
||||
return SPRITE_FISH_HEROINE;
|
||||
case PLAYER_STATE_POKETCH:
|
||||
return SPRITE_POKEHEROINE;
|
||||
case PLAYER_STATE_SAVING:
|
||||
return SPRITE_SAVEHEROINE;
|
||||
case PLAYER_STATE_HEAL:
|
||||
return SPRITE_BANZAIHEROINE;
|
||||
}
|
||||
}
|
||||
GF_ASSERT(FALSE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
u32 PlayerAvatar_GetTransitionBits(s32 state) {
|
||||
switch (state) {
|
||||
case PLAYER_STATE_WALKING:
|
||||
return PLAYER_TRANSITION_WALKING;
|
||||
case PLAYER_STATE_CYCLING:
|
||||
return PLAYER_TRANSITION_CYCLING;
|
||||
case PLAYER_STATE_SURFING:
|
||||
return PLAYER_TRANSITION_SURFING;
|
||||
case PLAYER_STATE_WATERING:
|
||||
return PLAYER_TRANSITION_WATERING;
|
||||
case PLAYER_STATE_FISHING:
|
||||
return PLAYER_TRANSITION_FISHING;
|
||||
case PLAYER_STATE_POKETCH:
|
||||
return PLAYER_TRANSITION_POKETCH;
|
||||
case PLAYER_STATE_SAVING:
|
||||
return PLAYER_TRANSITION_SAVING;
|
||||
case PLAYER_STATE_HEAL:
|
||||
return PLAYER_TRANSITION_HEAL;
|
||||
case PLAYER_STATE_USE_HM:
|
||||
default:
|
||||
GF_ASSERT(FALSE);
|
||||
return PLAYER_TRANSITION_WALKING;
|
||||
}
|
||||
}
|
||||
|
||||
PlayerAvatar *FieldSystem_GetPlayerAvatar(FieldSystem *fieldSystem) {
|
||||
return fieldSystem->playerAvatar;
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetFlag0(PlayerAvatar *avatar, BOOL set) {
|
||||
if (set == TRUE) {
|
||||
PlayerAvatar_SetFlagsBits(avatar, AVATAR_FLAG_UNK0);
|
||||
} else {
|
||||
PlayerAvatar_ClearFlagsBits(avatar, AVATAR_FLAG_UNK0);
|
||||
}
|
||||
}
|
||||
|
||||
BOOL PlayerAvatar_CheckFlag0(PlayerAvatar *avatar) {
|
||||
if (PlayerAvatar_GetFlagsBitsMask(avatar, AVATAR_FLAG_UNK0)) {
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetFlag1(PlayerAvatar *avatar, BOOL set) {
|
||||
if (set == TRUE) {
|
||||
PlayerAvatar_SetFlagsBits(avatar, AVATAR_FLAG_UNK1);
|
||||
} else {
|
||||
PlayerAvatar_ClearFlagsBits(avatar, AVATAR_FLAG_UNK1);
|
||||
}
|
||||
}
|
||||
|
||||
BOOL PlayerAvatar_CheckFlag1(PlayerAvatar *avatar) {
|
||||
if (PlayerAvatar_GetFlagsBitsMask(avatar, AVATAR_FLAG_UNK1)) {
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetFlag2(PlayerAvatar *avatar, BOOL set) {
|
||||
if (set == TRUE) {
|
||||
PlayerAvatar_SetFlagsBits(avatar, AVATAR_FLAG_UNK2);
|
||||
} else {
|
||||
PlayerAvatar_ClearFlagsBits(avatar, AVATAR_FLAG_UNK2);
|
||||
}
|
||||
}
|
||||
|
||||
BOOL PlayerAvatar_CheckFlag2(PlayerAvatar *avatar) {
|
||||
if (PlayerAvatar_GetFlagsBitsMask(avatar, AVATAR_FLAG_UNK2)) {
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetBikeStateLock(PlayerAvatar *avatar, BOOL lock) {
|
||||
if (lock == TRUE) {
|
||||
PlayerAvatar_SetFlagsBits(avatar, AVATAR_FLAG_LOCK_BIKE_STATE);
|
||||
} else {
|
||||
PlayerAvatar_ClearFlagsBits(avatar, AVATAR_FLAG_LOCK_BIKE_STATE);
|
||||
}
|
||||
}
|
||||
|
||||
BOOL PlayerAvatar_CheckBikeStateLocked(PlayerAvatar *avatar) {
|
||||
if (PlayerAvatar_GetFlagsBitsMask(avatar, AVATAR_FLAG_LOCK_BIKE_STATE)) {
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetFlag4(PlayerAvatar *avatar, BOOL set) {
|
||||
if (set == TRUE) {
|
||||
PlayerAvatar_SetFlagsBits(avatar, AVATAR_FLAG_UNK4);
|
||||
} else {
|
||||
PlayerAvatar_ClearFlagsBits(avatar, AVATAR_FLAG_UNK4);
|
||||
}
|
||||
}
|
||||
|
||||
BOOL PlayerAvatar_CheckFlag4(PlayerAvatar *avatar) {
|
||||
if (PlayerAvatar_GetFlagsBitsMask(avatar, AVATAR_FLAG_UNK4)) {
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetFlag5(PlayerAvatar *avatar, BOOL set) {
|
||||
if (set == TRUE) {
|
||||
PlayerAvatar_SetFlagsBits(avatar, AVATAR_FLAG_UNK5);
|
||||
} else {
|
||||
PlayerAvatar_ClearFlagsBits(avatar, AVATAR_FLAG_UNK5);
|
||||
}
|
||||
}
|
||||
|
||||
BOOL PlayerAvatar_CheckFlag5(PlayerAvatar *avatar) {
|
||||
if (PlayerAvatar_GetFlagsBitsMask(avatar, AVATAR_FLAG_UNK5)) {
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetFlag6(PlayerAvatar *avatar) {
|
||||
PlayerAvatar_SetFlagsBits(avatar, AVATAR_FLAG_UNK6);
|
||||
}
|
||||
|
||||
void PlayerAvatar_ClearFlag6(PlayerAvatar *avatar) {
|
||||
PlayerAvatar_ClearFlagsBits(avatar, AVATAR_FLAG_UNK6);
|
||||
}
|
||||
|
||||
BOOL PlayerAvatar_CheckFlag6(PlayerAvatar *avatar) {
|
||||
if (PlayerAvatar_GetFlagsBitsMask(avatar, AVATAR_FLAG_UNK6)) {
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void PlayerAvatar_SetFlag7(PlayerAvatar *avatar, BOOL set) {
|
||||
if (set == TRUE) {
|
||||
PlayerAvatar_SetFlagsBits(avatar, AVATAR_FLAG_UNK7);
|
||||
} else {
|
||||
PlayerAvatar_ClearFlagsBits(avatar, AVATAR_FLAG_UNK7);
|
||||
}
|
||||
}
|
||||
|
||||
BOOL PlayerAvatar_CheckFlag7(PlayerAvatar *avatar) {
|
||||
return PlayerAvatar_GetFlagsBitsMask(avatar, AVATAR_FLAG_UNK7);
|
||||
}
|
||||
|
|
@ -93,12 +93,12 @@ u16 PlayerProfile_GetTrainerID_VisibleHalf(PlayerProfile *data) {
|
|||
return (u16)data->playerId;
|
||||
}
|
||||
|
||||
void PlayerProfile_SetTrainerGender(PlayerProfile *data, PlayerGender gender) {
|
||||
void PlayerProfile_SetTrainerGender(PlayerProfile *data, u32 gender) {
|
||||
data->gender = gender;
|
||||
}
|
||||
|
||||
PlayerGender PlayerProfile_GetTrainerGender(PlayerProfile *data) {
|
||||
return (PlayerGender)data->gender;
|
||||
u32 PlayerProfile_GetTrainerGender(PlayerProfile *data) {
|
||||
return data->gender;
|
||||
}
|
||||
|
||||
BOOL PlayerProfile_TestBadgeFlag(PlayerProfile *data, u32 badgeno) {
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
#include "msgdata.h"
|
||||
#include "options.h"
|
||||
#include "party.h"
|
||||
#include "player_avatar.h"
|
||||
#include "player_data.h"
|
||||
#include "pokedex.h"
|
||||
#include "pokemon_storage_system.h"
|
||||
|
|
@ -67,7 +68,6 @@ extern MessageFormat *ov06_02244210(SaveData *sav, u16 poke, u16 sex, u8 flag, u
|
|||
extern void ov05_021E2CBC(ScriptContext *ctx, MessageFormat *messageFormat, u8 param2, u32 param3);
|
||||
extern void ov05_021E2BB8(void *param0, ScriptContext *ctx);
|
||||
extern BOOL sub_02030F40(void);
|
||||
extern void sub_02055304(PlayerAvatar *playerAvatar, u32 param1);
|
||||
extern void sub_02039460(FieldSystem *arg);
|
||||
extern void ov05_021E8128(u32 param0, u8 type, u16 map);
|
||||
extern void ov05_021E8130(u32 param0, u32 param1);
|
||||
|
|
@ -91,7 +91,6 @@ extern void ov05_021E2B9C(u32 param0, u8 param1);
|
|||
extern u32 sub_0205AEA4(LocalMapObject *event, const void *ptr);
|
||||
extern BOOL sub_0205AEF0(u32 param0);
|
||||
extern void sub_0205AEFC(u32 param0);
|
||||
extern LocalMapObject *PlayerAvatar_GetMapObject(PlayerAvatar *playerAvatar);
|
||||
extern u32 sub_0205AE28(LocalMapObject *event);
|
||||
extern LocalMapObject *sub_0205E7C4(LocalMapObject *event);
|
||||
extern u32 sub_02034B64(FieldSystem *fieldSystem);
|
||||
|
|
@ -99,11 +98,8 @@ extern const ObjectEvent *sub_02034B6C(FieldSystem *fieldSystem);
|
|||
extern u32 sub_02059D1C(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 GetPlayerZCoord(PlayerAvatar *playerAvatar);
|
||||
extern u16 sub_02029E0C(SealCase *sealCase);
|
||||
extern u16 SealCase_CountSealOccurrenceAnywhere(SealCase *sealCase, u16 sealId);
|
||||
extern void sub_02029D44(SealCase *sealCase, u16 sealId, s16 amount);
|
||||
|
|
@ -168,19 +164,15 @@ extern u32 LocalFieldData_GetWeatherType(LocalFieldData *localFieldData);
|
|||
extern void ov05_021DC174(u32 param0, u32 weather);
|
||||
extern void LocalFieldData_SetWeatherType(LocalFieldData *localFieldData, u32 weather);
|
||||
extern void CallFieldTask_Waterfall(TaskManager *taskManager, u32 playerDirection, u16 partyPosition);
|
||||
extern u32 PlayerAvatar_GetGender(PlayerAvatar *avatar);
|
||||
extern void *ov06_0224666C(FieldSystem *fieldSystem, u32 param1, Pokemon *mon, u32 playerGender);
|
||||
extern BOOL ov06_022466A0(void *param0);
|
||||
extern void ov06_022466AC(void *param0);
|
||||
extern void ov05_021E7030(TaskManager *taskManager);
|
||||
extern u32 PlayerAvatar_GetState(PlayerAvatar *avatar);
|
||||
extern void FieldSystem_SetSavedMusicId(FieldSystem *fieldSystem, u16 musicId);
|
||||
extern void FieldSystem_PlayOrFadeToNewMusicId(FieldSystem *fieldSystem, u16 musicId, u32 param2);
|
||||
extern void Field_PlayerAvatar_OrrTransitionFlags(PlayerAvatar *playerAvatar, u32 transitionFlags);
|
||||
extern void Field_PlayerAvatar_ApplyTransitionFlags(PlayerAvatar *playerAvatar);
|
||||
extern u16 FieldSystem_GetOverriddenMusicId(FieldSystem *fieldSystem, u32 mapId);
|
||||
extern void sub_02055720(PlayerAvatar *avatar, u8 action);
|
||||
extern void PlayerAvatar_OrrTransitionFlags(PlayerAvatar *playerAvatar, u32 transitionFlags);
|
||||
extern RoamerSaveData *Save_Roamers_Get(SaveData *save);
|
||||
extern u32 Roamers_GetRand(RoamerSaveData *roamerSaveData, u32 index);
|
||||
extern void GetSwarmInfoFromRand(u32 rand, u16 *map, u16 *species);
|
||||
|
|
@ -227,9 +219,9 @@ extern u32 sub_02052608(u32 param0);
|
|||
extern void sub_02052E10(u32 param0);
|
||||
extern u32 sub_02052648(u32 param0);
|
||||
extern u32 sub_02052718(u32 param0, u32 param1);
|
||||
extern void sub_0205363C(u32 trainerId, PlayerGender playerGender, MessageFormat *messageFormat);
|
||||
extern u16 sub_02053678(u32 trainerId, PlayerGender playerGender, u32 param2);
|
||||
extern u16 sub_020536D0(PlayerGender playerGender, u16 param1, u16 param2);
|
||||
extern void sub_0205363C(u32 trainerId, u32 playerGender, MessageFormat *messageFormat);
|
||||
extern u16 sub_02053678(u32 trainerId, u32 playerGender, u32 param2);
|
||||
extern u16 sub_020536D0(u32 playerGender, u16 param1, u16 param2);
|
||||
extern void sub_02049EA4(TaskManager *taskManager);
|
||||
extern void LocalFieldData_SetBlackoutSpawn(LocalFieldData *localFieldData, u16 spawnPoint);
|
||||
extern void HealParty(Party *playerParty);
|
||||
|
|
@ -297,7 +289,6 @@ extern void sub_02061574(FieldSystem *fieldSystem);
|
|||
extern u16 SpearPillarSequence(FieldSystem *fieldSystem, u8 operation);
|
||||
extern void ov06_0224525C(FieldSystem *fieldSystem, u16 var, u16 type);
|
||||
extern u16 ov06_02245340(FieldSystem *fieldSystem, u16 position);
|
||||
extern void PlayerAvatar_ToggleAutomaticHeightUpdating(PlayerAvatar *avatar, u8 flag);
|
||||
extern u16 Save_VarsFlags_GetSpiritombTalkCounter(SaveVarsFlags *varsFlags);
|
||||
extern void sub_0205F5A4(SaveVarsFlags *varsFlags, u16 param1);
|
||||
extern u16 sub_0205F594(SaveVarsFlags *varsFlags);
|
||||
|
|
@ -1027,13 +1018,13 @@ static BOOL sub_0203A4E0(ScriptContext *ctx) {
|
|||
if (gSystem.newKeys & (PAD_BUTTON_A | PAD_BUTTON_B)) {
|
||||
return TRUE;
|
||||
} else if (gSystem.newKeys & PAD_KEY_UP) {
|
||||
sub_02055304(ctx->fieldSystem->playerAvatar, 0);
|
||||
PlayerAvatar_SetFacingDirection(ctx->fieldSystem->playerAvatar, 0);
|
||||
} else if (gSystem.newKeys & PAD_KEY_DOWN) {
|
||||
sub_02055304(ctx->fieldSystem->playerAvatar, 1);
|
||||
PlayerAvatar_SetFacingDirection(ctx->fieldSystem->playerAvatar, 1);
|
||||
} else if (gSystem.newKeys & PAD_KEY_LEFT) {
|
||||
sub_02055304(ctx->fieldSystem->playerAvatar, 2);
|
||||
PlayerAvatar_SetFacingDirection(ctx->fieldSystem->playerAvatar, 2);
|
||||
} else if (gSystem.newKeys & PAD_KEY_RIGHT) {
|
||||
sub_02055304(ctx->fieldSystem->playerAvatar, 3);
|
||||
PlayerAvatar_SetFacingDirection(ctx->fieldSystem->playerAvatar, 3);
|
||||
} else if (gSystem.newKeys & PAD_BUTTON_X) {
|
||||
sub_02039460(ctx->fieldSystem);
|
||||
} else {
|
||||
|
|
@ -1258,7 +1249,7 @@ static BOOL sub_0203A94C(ScriptContext *ctx) {
|
|||
|
||||
if (tmp != 0xFFFF) {
|
||||
sub_0201BD7C(*printerNumber);
|
||||
sub_02055304(ctx->fieldSystem->playerAvatar, tmp);
|
||||
PlayerAvatar_SetFacingDirection(ctx->fieldSystem->playerAvatar, tmp);
|
||||
*varPtr = 0;
|
||||
return TRUE;
|
||||
} else {
|
||||
|
|
@ -1296,7 +1287,7 @@ static BOOL sub_0203AA0C(ScriptContext *ctx) {
|
|||
}
|
||||
|
||||
if (tmp != 0xFFFF) {
|
||||
sub_02055304(ctx->fieldSystem->playerAvatar, tmp);
|
||||
PlayerAvatar_SetFacingDirection(ctx->fieldSystem->playerAvatar, tmp);
|
||||
*unk = 0;
|
||||
return TRUE;
|
||||
} else {
|
||||
|
|
@ -1541,8 +1532,8 @@ BOOL ScrCmd_Unk02A1(ScriptContext *ctx) { // 02A1
|
|||
GF_ASSERT(event);
|
||||
|
||||
u16 *unk4 = AllocFromHeap(HEAP_ID_4, 0x100);
|
||||
u16 xVal = (u16)MapObject_GetCurrentX(event);
|
||||
u16 zVal = (u16)MapObject_GetCurrentZ(event);
|
||||
u16 xVal = (u16)MapObject_GetXCoord(event);
|
||||
u16 zVal = (u16)MapObject_GetZCoord(event);
|
||||
|
||||
u32 pos = 0;
|
||||
|
||||
|
|
@ -1798,10 +1789,10 @@ BOOL ScrCmd_GetPlayerPosition(ScriptContext *ctx) { // 0069
|
|||
FieldSystem *fieldSystem = ctx->fieldSystem;
|
||||
|
||||
u16 *x = ScriptGetVarPointer(ctx);
|
||||
u16 *y = ScriptGetVarPointer(ctx);
|
||||
u16 *z = ScriptGetVarPointer(ctx);
|
||||
|
||||
*x = GetPlayerXCoord(fieldSystem->playerAvatar);
|
||||
*y = GetPlayerZCoord(fieldSystem->playerAvatar);
|
||||
*x = PlayerAvatar_GetXCoord(fieldSystem->playerAvatar);
|
||||
*z = PlayerAvatar_GetZCoord(fieldSystem->playerAvatar);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
|
@ -1814,8 +1805,8 @@ BOOL ScrCmd_GetEventPosition(ScriptContext *ctx) { // 006A
|
|||
u16 *x = ScriptGetVarPointer(ctx);
|
||||
u16 *z = ScriptGetVarPointer(ctx);
|
||||
|
||||
*x = (u16)MapObject_GetCurrentX(event);
|
||||
*z = (u16)MapObject_GetCurrentZ(event);
|
||||
*x = (u16)MapObject_GetXCoord(event);
|
||||
*z = (u16)MapObject_GetZCoord(event);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
|
@ -2631,7 +2622,7 @@ BOOL ScrCmd_DummyRideBike(ScriptContext *ctx) { // 02BF
|
|||
|
||||
BOOL ScrCmd_CyclingRoad(ScriptContext *ctx) { // 00C9
|
||||
u8 action = ScriptReadByte(ctx);
|
||||
sub_02055720(ctx->fieldSystem->playerAvatar, action);
|
||||
PlayerAvatar_SetBikeStateLock(ctx->fieldSystem->playerAvatar, action);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
|
@ -2643,7 +2634,7 @@ BOOL ScrCmd_GetPlayerState(ScriptContext *ctx) { // 00CA
|
|||
|
||||
BOOL ScrCmd_SetPlayerState(ScriptContext *ctx) { // 00CB
|
||||
u16 state = ScriptReadHalfword(ctx);
|
||||
PlayerAvatar_OrrTransitionFlags(ctx->fieldSystem->playerAvatar, state);
|
||||
PlayerAvatar_SetTransitionFlagsBits(ctx->fieldSystem->playerAvatar, state);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,10 +4,8 @@
|
|||
#include "save_vars_flags.h"
|
||||
#include "scrcmd.h"
|
||||
|
||||
extern void *sub_02034E20(void *);
|
||||
extern void *Save_LocalFieldData_Get(void *);
|
||||
extern BOOL sub_02055474(void *);
|
||||
extern void sub_02055488(void *, u32);
|
||||
extern PlayerSaveData *sub_02034E20(LocalFieldData *localFieldData);
|
||||
extern LocalFieldData *Save_LocalFieldData_Get(SaveData *save);
|
||||
extern void sub_0205ECD4(struct SaveVarsFlags *state);
|
||||
extern BOOL sub_0205ECE0(struct SaveVarsFlags *state);
|
||||
extern void sub_0205ECFC(struct SaveVarsFlags *state);
|
||||
|
|
@ -59,20 +57,20 @@ BOOL ScrCmd_GiveSinnohDex(struct ScriptContext *ctx) // 0158
|
|||
BOOL ScrCmd_HasRunningShoes(struct ScriptContext *ctx) // 0159
|
||||
{
|
||||
u16 *ret_ptr = ScriptGetVarPointer(ctx);
|
||||
void *unk_sav_ptr = Save_LocalFieldData_Get(ctx->fieldSystem->saveData);
|
||||
void *unk = sub_02034E20(unk_sav_ptr);
|
||||
LocalFieldData *localFieldData = Save_LocalFieldData_Get(ctx->fieldSystem->saveData);
|
||||
PlayerSaveData *playerSaveData = sub_02034E20(localFieldData);
|
||||
|
||||
*ret_ptr = (u16)sub_02055474(unk);
|
||||
*ret_ptr = (u16)PlayerSaveData_CheckRunningShoes(playerSaveData);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_GiveRunningShoes(struct ScriptContext *ctx) // 015A
|
||||
{
|
||||
void *unk_sav_ptr = Save_LocalFieldData_Get(ctx->fieldSystem->saveData);
|
||||
void *unk = sub_02034E20(unk_sav_ptr);
|
||||
LocalFieldData *localFieldData = Save_LocalFieldData_Get(ctx->fieldSystem->saveData);
|
||||
PlayerSaveData *playerSaveData = sub_02034E20(localFieldData);
|
||||
|
||||
sub_02055488(unk, 1);
|
||||
PlayerSaveData_SetRunningShoesFlag(playerSaveData, TRUE);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,6 @@ extern u32 ov06_022451F0(u32);
|
|||
|
||||
extern void sub_02049160(struct TaskManager *taskManager, u32);
|
||||
extern void sub_0204C1B4(struct TaskManager *taskManager, u32, u32, u32, u32, u32, u32, u32);
|
||||
extern LocalMapObject *PlayerAvatar_GetMapObject(struct PlayerAvatar *playerAvatar);
|
||||
extern void sub_0205F1C4(struct SaveVarsFlags *);
|
||||
extern void sub_0205F1D4(struct SaveVarsFlags *);
|
||||
extern void sub_0206367C(struct FieldSystem *, u32);
|
||||
|
|
|
|||
|
|
@ -2,8 +2,12 @@
|
|||
#define POKEDIAMOND_CONSTANTS_GLOBAL_H
|
||||
|
||||
#include "constants/charcode.h"
|
||||
#include "constants/global_fieldmap.h"
|
||||
|
||||
#define POKEMON_NAME_LENGTH 10
|
||||
#define PLAYER_NAME_LENGTH 7
|
||||
|
||||
#define PLAYER_GENDER_MALE 0
|
||||
#define PLAYER_GENDER_FEMALE 1
|
||||
|
||||
#endif // POKEDIAMOND_CONSTANTS_GLOBAL_H
|
||||
|
|
|
|||
|
|
@ -8,13 +8,26 @@
|
|||
#define DIR_EAST 3
|
||||
|
||||
// Player avatar state
|
||||
#define PLAYER_STATE_WALKING 0
|
||||
#define PLAYER_STATE_CYCLING 1
|
||||
#define PLAYER_STATE_SURFING 2
|
||||
#define PLAYER_STATE_WALKING 0
|
||||
#define PLAYER_STATE_CYCLING 1
|
||||
#define PLAYER_STATE_SURFING 2
|
||||
#define PLAYER_STATE_USE_HM 3
|
||||
#define PLAYER_STATE_WATERING 4
|
||||
#define PLAYER_STATE_CONTEST 5
|
||||
#define PLAYER_STATE_FISHING 6
|
||||
#define PLAYER_STATE_POKETCH 7
|
||||
#define PLAYER_STATE_SAVING 8
|
||||
#define PLAYER_STATE_HEAL 9
|
||||
|
||||
// Player transition bits
|
||||
#define PLAYER_TRANSITION_WALKING 1 << 0
|
||||
#define PLAYER_TRANSITION_CYCLING 1 << 1
|
||||
#define PLAYER_TRANSITION_SURFING 1 << 2
|
||||
#define PLAYER_TRANSITION_WALKING 1 << 0
|
||||
#define PLAYER_TRANSITION_CYCLING 1 << 1
|
||||
#define PLAYER_TRANSITION_SURFING 1 << 2
|
||||
#define PLAYER_TRANSITION_x0008 1 << 3
|
||||
#define PLAYER_TRANSITION_WATERING 1 << 4
|
||||
#define PLAYER_TRANSITION_FISHING 1 << 5
|
||||
#define PLAYER_TRANSITION_POKETCH 1 << 6
|
||||
#define PLAYER_TRANSITION_SAVING 1 << 7
|
||||
#define PLAYER_TRANSITION_HEAL 1 << 8
|
||||
|
||||
#endif // POKEDIAMOND_CONSTANTS_GLOBAL_FIELDMAP_H
|
||||
|
|
|
|||
|
|
@ -1,9 +1,370 @@
|
|||
#ifndef POKEDIAMOND_CONSTANTS_SPRITES_H
|
||||
#define POKEDIAMOND_CONSTANTS_SPRITES_H
|
||||
|
||||
#define SPRITE_ROCK 84
|
||||
#define SPRITE_BREAKROCK 85
|
||||
#define SPRITE_TREE 86
|
||||
#define SPRITE_HERO 0
|
||||
#define SPRITE_BABYBOY1 1
|
||||
#define SPRITE_BABYGIRL1 2
|
||||
#define SPRITE_BOY1 3
|
||||
#define SPRITE_BOY2 4
|
||||
#define SPRITE_BOY3 5
|
||||
#define SPRITE_GIRL1 6
|
||||
#define SPRITE_GIRL2 7
|
||||
#define SPRITE_GIRL3 8
|
||||
#define SPRITE_MAN1 9
|
||||
#define SPRITE_MAN2 10
|
||||
#define SPRITE_MAN3 11
|
||||
#define SPRITE_WOMAN1 12
|
||||
#define SPRITE_WOMAN2 13
|
||||
#define SPRITE_WOMAN3 14
|
||||
#define SPRITE_MIDDLEMAN1 15
|
||||
#define SPRITE_MIDDLEWOMAN1 16
|
||||
#define SPRITE_OLDMAN1 17
|
||||
#define SPRITE_OLDWOMAN1 18
|
||||
#define SPRITE_BIGMAN 19
|
||||
#define SPRITE_MOUNT 20
|
||||
#define SPRITE_CYCLEHERO 21
|
||||
#define SPRITE_REPORTER 22
|
||||
#define SPRITE_CAMERAMAN 23
|
||||
#define SPRITE_SHOPM1 24
|
||||
#define SPRITE_SHOPW1 25
|
||||
#define SPRITE_PCWOMAN1 26
|
||||
#define SPRITE_PCWOMAN2 27
|
||||
#define SPRITE_PCWOMAN3 28
|
||||
#define SPRITE_ASSISTANTM 29
|
||||
#define SPRITE_ASSISTANTW 30
|
||||
#define SPRITE_BADMAN 31
|
||||
#define SPRITE_SKIERM 32
|
||||
#define SPRITE_SKIERW 33
|
||||
#define SPRITE_POLICEMAN 34
|
||||
#define SPRITE_IDOL 35
|
||||
#define SPRITE_GENTLEMAN 36
|
||||
#define SPRITE_LADY 37
|
||||
#define SPRITE_CYCLEM 38
|
||||
#define SPRITE_CYCLEW 39
|
||||
#define SPRITE_WORKMAN 40
|
||||
#define SPRITE_FARMER 41
|
||||
#define SPRITE_COWGIRL 42
|
||||
#define SPRITE_CLOWN 43
|
||||
#define SPRITE_ARTIST 44
|
||||
#define SPRITE_SPORTSMAN 45
|
||||
#define SPRITE_SWIMMERM 46
|
||||
#define SPRITE_SWIMMERW 47
|
||||
#define SPRITE_BEACHGIRL 48
|
||||
#define SPRITE_BEACHBOY 49
|
||||
#define SPRITE_EXPLORE 50
|
||||
#define SPRITE_FIGHTER 51
|
||||
#define SPRITE_CAMPBOY 52
|
||||
#define SPRITE_PICNICGIRL 53
|
||||
#define SPRITE_FISHING 54
|
||||
#define SPRITE_AMBRELLA 55
|
||||
#define SPRITE_SEAMAN 56
|
||||
#define SPRITE_WAITER 59
|
||||
#define SPRITE_WAITRESS 60
|
||||
#define SPRITE_GORGGEOUSM 62
|
||||
#define SPRITE_GORGGEOUSW 63
|
||||
#define SPRITE_BOY4 64
|
||||
#define SPRITE_GIRL4 65
|
||||
#define SPRITE_MAN5 68
|
||||
#define SPRITE_WOMAN5 69
|
||||
#define SPRITE_MYSTERY 70
|
||||
#define SPRITE_PIKACHU 71
|
||||
#define SPRITE_PIPPI 72
|
||||
#define SPRITE_PURIN 73
|
||||
#define SPRITE_KODUCK 74
|
||||
#define SPRITE_ACHAMO 78
|
||||
#define SPRITE_ENECO 79
|
||||
#define SPRITE_BABY 81
|
||||
#define SPRITE_MIDDLEMAN2 82
|
||||
#define SPRITE_MIDDLEWOMAN2 83
|
||||
#define SPRITE_ROCK 84
|
||||
#define SPRITE_BREAKROCK 85
|
||||
#define SPRITE_TREE 86
|
||||
#define SPRITE_MONSTARBALL 87
|
||||
#define SPRITE_GIRL1_2 88
|
||||
#define SPRITE_GIRL1_3 89
|
||||
#define SPRITE_GIRL1_4 90
|
||||
#define SPRITE_HEROINE 97
|
||||
#define SPRITE_CYCLEHEROINE 98
|
||||
#define SPRITE_DOCTOR 99
|
||||
#define SPRITE_GINGABOSS 120
|
||||
#define SPRITE_GKANBU1 121
|
||||
#define SPRITE_GKANBU2 122
|
||||
#define SPRITE_GKANBU3 123
|
||||
#define SPRITE_GINGAM 124
|
||||
#define SPRITE_GINGAW 125
|
||||
#define SPRITE_LEADER1 126
|
||||
#define SPRITE_LEADER2 127
|
||||
#define SPRITE_LEADER3 128
|
||||
#define SPRITE_LEADER4 129
|
||||
#define SPRITE_LEADER5 130
|
||||
#define SPRITE_LEADER6 131
|
||||
#define SPRITE_LEADER7 132
|
||||
#define SPRITE_LEADER8 133
|
||||
#define SPRITE_BIGFOUR1 134
|
||||
#define SPRITE_BIGFOUR2 135
|
||||
#define SPRITE_BIGFOUR3 136
|
||||
#define SPRITE_BIGFOUR4 137
|
||||
#define SPRITE_CHAMPION 138
|
||||
#define SPRITE_MAN1_2 139
|
||||
#define SPRITE_MAMA 140
|
||||
#define SPRITE_SEVEN1 141
|
||||
#define SPRITE_SEVEN2 142
|
||||
#define SPRITE_SEVEN3 143
|
||||
#define SPRITE_SEVEN4 144
|
||||
#define SPRITE_SEVEN5 145
|
||||
#define SPRITE_RIVEL 148
|
||||
#define SPRITE_BIGMAN_2 149
|
||||
#define SPRITE_BIGMAN_3 150
|
||||
#define SPRITE_SPPOKE1 151
|
||||
#define SPRITE_SPPOKE2 152
|
||||
#define SPRITE_SPPOKE3 153
|
||||
#define SPRITE_SPPOKE4 154
|
||||
#define SPRITE_SPPOKE5 155
|
||||
#define SPRITE_SPPOKE6 156
|
||||
#define SPRITE_SPPOKE7 157
|
||||
#define SPRITE_SPPOKE8 158
|
||||
#define SPRITE_SPPOKE9 159
|
||||
#define SPRITE_SPPOKE10 160
|
||||
#define SPRITE_SPPOKE11 161
|
||||
#define SPRITE_WOMAN6 163
|
||||
#define SPRITE_OLDMAN2 164
|
||||
#define SPRITE_OLDWOMAN2 165
|
||||
#define SPRITE_OOKIDO 166
|
||||
#define SPRITE_MIKAN 167
|
||||
#define SPRTIE_SUNGLASSES 168
|
||||
#define SPRITE_TOWERBOSS 169
|
||||
#define SPRITE_BIGMAN_4 170
|
||||
#define SPRITE_BIGMAN_5 171
|
||||
#define SPRITE_BIGMAN_6 172
|
||||
#define SPRITE_BIRD 173
|
||||
#define SPRITE_BAG 174
|
||||
#define SPRITE_MAID 175
|
||||
#define SPRITE_SPHERO 176
|
||||
#define SPRITE_SPHEROINE 177
|
||||
#define SPRITE_SWIMHERO 178
|
||||
#define SPRITE_SWIMHEROINE 179
|
||||
#define SPRITE_WATERHERO 180
|
||||
#define SPRITE_WATERHEROINE 181
|
||||
#define SPRITE_VENTHOLE 182
|
||||
#define SPRITE_SSPOKE12 184
|
||||
#define SPRITE_BALLOON 185
|
||||
#define SPRITE_CONTESTHERO 186
|
||||
#define SPRITE_CONT_HEROINE 187
|
||||
#define SPRITE_FISHINGHERO 188
|
||||
#define SPRITE_FISH_HEROINE 189
|
||||
#define SPIRTE_MOSS 190
|
||||
#define SPRITE_FREEZES 191
|
||||
#define SPRITE_POLE 192
|
||||
#define SPRITE_DELIVERY 193
|
||||
#define SPRITE_DSBOY 194
|
||||
#define SPRITE_KOIKING 195
|
||||
#define SPRITE_POKEHERO 196
|
||||
#define SPRITE_POKEHEROINE 197
|
||||
#define SPRITE_SAVEHERO 198
|
||||
#define SPRITE_SAVEHEROINE 199
|
||||
#define SPRITE_BANZAIHERO 200
|
||||
#define SPRITE_BANZAIHEROINE 201
|
||||
#define SPRITE_GINGA_DOOR 202
|
||||
#define SPRITE_T5_O01_C 203
|
||||
#define SPRITE_PATIRITUSU 204
|
||||
#define SPRITE_KINOCOCO 205
|
||||
#define SPRITE_MIMITUTO 206
|
||||
#define SPRITE_KOLUCKY 207
|
||||
#define SPRITE_WANRIKY 208
|
||||
|
||||
#define SPRITE_SEED00_A 4096
|
||||
#define SPRITE_SEED01_A 4097
|
||||
#define SPRITE_SEED01_B 4098
|
||||
#define SPRITE_SEED01_C 4099
|
||||
#define SPRITE_SEED02_A 4100
|
||||
#define SPRITE_SEED02_B 4101
|
||||
#define SPRITE_SEED02_C 4102
|
||||
#define SPRITE_SEED03_A 4103
|
||||
#define SPRITE_SEED03_B 4104
|
||||
#define SPRITE_SEED03_C 4105
|
||||
#define SPRITE_SEED04_A 4106
|
||||
#define SPRITE_SEED04_B 4107
|
||||
#define SPRITE_SEED04_C 4108
|
||||
#define SPRITE_SEED05_A 4109
|
||||
#define SPRITE_SEED05_B 4110
|
||||
#define SPRITE_SEED05_C 4111
|
||||
#define SPRITE_SEED06_A 4112
|
||||
#define SPRITE_SEED06_B 4113
|
||||
#define SPRITE_SEED06_C 4114
|
||||
#define SPRITE_SEED07_A 4115
|
||||
#define SPRITE_SEED07_B 4116
|
||||
#define SPRITE_SEED07_C 4117
|
||||
#define SPRITE_SEED08_A 4118
|
||||
#define SPRITE_SEED08_B 4119
|
||||
#define SPRITE_SEED08_C 4120
|
||||
#define SPRITE_SEED09_A 4121
|
||||
#define SPRITE_SEED09_B 4122
|
||||
#define SPRITE_SEED09_C 4123
|
||||
#define SPRITE_SEED10_A 4124
|
||||
#define SPRITE_SEED10_B 4125
|
||||
#define SPRITE_SEED10_C 4126
|
||||
#define SPRITE_SEED11_A 4127
|
||||
#define SPRITE_SEED11_B 4128
|
||||
#define SPRITE_SEED11_C 4129
|
||||
#define SPRITE_SEED12_A 4130
|
||||
#define SPRTIE_SEED12_B 4131
|
||||
#define SPRITE_SEED12_C 4132
|
||||
#define SPRITE_SEED13_A 4133
|
||||
#define SPRITE_SEED13_B 4134
|
||||
#define SPRITE_SEED13_C 4135
|
||||
#define SPRITE_SEED14_A 4136
|
||||
#define SPRITE_SEED14_B 4137
|
||||
#define SPRITE_SEED14_C 4138
|
||||
#define SPRITE_SEED15_A 4139
|
||||
#define SPRITE_SEED15_B 4140
|
||||
#define SPRITE_SEED15_C 4141
|
||||
#define SPRITE_SEED16_A 4142
|
||||
#define SPRITE_SEED16_B 4143
|
||||
#define SPRITE_SEED16_C 4144
|
||||
#define SPRITE_SEED17_A 4145
|
||||
#define SPRITE_SEED17_B 4146
|
||||
#define SPRITE_SEED17_C 4147
|
||||
#define SPRITE_SEED18_A 4148
|
||||
#define SPRITE_SEED18_B 4149
|
||||
#define SPRITE_SEED18_C 4150
|
||||
#define SPRITE_SEED19_A 4151
|
||||
#define SPRITE_SEED19_B 4152
|
||||
#define SPRITE_SEED19_C 4153
|
||||
#define SPRITE_SEED20_A 4154
|
||||
#define SPRITE_SEED20_B 4155
|
||||
#define SPRITE_SEED20_C 4156
|
||||
#define SPRITE_SEED21_A 4157
|
||||
#define SPRITE_SEED21_B 4158
|
||||
#define SPRITE_SEED21_C 4159
|
||||
#define SPRITE_SEED22_A 4160
|
||||
#define SPRITE_SEED22_B 4161
|
||||
#define SPRITE_SEED22_C 4162
|
||||
#define SPRITE_SEED23_A 4163
|
||||
#define SPRITE_SEED23_B 4164
|
||||
#define SPRITE_SEED23_C 4165
|
||||
#define SPRITE_SEED24_A 4166
|
||||
#define SPRITE_SEED24_B 4167
|
||||
#define SPRITE_SEED24_C 4168
|
||||
#define SPRITE_SEED25_A 4169
|
||||
#define SPRITE_SEED25_B 4170
|
||||
#define SPRITE_SEED25_C 4171
|
||||
#define SPRITE_SEED26_A 4172
|
||||
#define SPRITE_SEED26_B 4173
|
||||
#define SPRITE_SEED26_C 4174
|
||||
#define SPRITE_SEED27_A 4175
|
||||
#define SPRITE_SEED27_B 4176
|
||||
#define SPRITE_SEED27_C 4177
|
||||
#define SPRITE_SEED28_A 4178
|
||||
#define SPRITE_SEED28_B 4179
|
||||
#define SPRITE_SEED28_C 4180
|
||||
#define SPRITE_SEED29_A 4181
|
||||
#define SPRITE_SEED29_B 4182
|
||||
#define SPRITE_SEED29_C 4183
|
||||
#define SPRITE_SEED30_A 4184
|
||||
#define SPRITE_SEED30_B 4185
|
||||
#define SPRITE_SEED30_C 4186
|
||||
#define SPRITE_SEED31_A 4187
|
||||
#define SPRITE_SEED31_B 4188
|
||||
#define SPRITE_SEED31_C 4189
|
||||
#define SPRITE_SEED32_A 4190
|
||||
#define SPRITE_SEED32_B 4191
|
||||
#define SPRITE_SEED32_C 4192
|
||||
#define SPRITE_SEED33_A 4193
|
||||
#define SPRITE_SEED33_B 4194
|
||||
#define SPRITE_SEED33_C 4195
|
||||
#define SPRITE_SEED34_A 4196
|
||||
#define SPRITE_SEED34_B 4197
|
||||
#define SPRITE_SEED34_C 4198
|
||||
#define SPRITE_SEED35_A 4199
|
||||
#define SPRITE_SEED35_B 4200
|
||||
#define SPRITE_SEED35_C 4201
|
||||
#define SPRITE_SEED36_A 4202
|
||||
#define SPRITE_SEED36_B 4203
|
||||
#define SPRITE_SEED36_C 4204
|
||||
#define SPRITE_SEED37_A 4205
|
||||
#define SPRITE_SEED37_B 4206
|
||||
#define SPRITE_SEED37_C 4207
|
||||
#define SPRITE_SEED38_A 4208
|
||||
#define SPRITE_SEED38_B 4209
|
||||
#define SPRITE_SEED38_C 4210
|
||||
#define SPRITE_SEED39_A 4211
|
||||
#define SPRITE_SEED39_B 4212
|
||||
#define SPRITE_SEED39_C 4213
|
||||
#define SPRITE_SEED40_A 4214
|
||||
#define SPRITE_SEED40_B 4215
|
||||
#define SPRITE_SEED40_C 4216
|
||||
#define SPRITE_SEED41_A 4217
|
||||
#define SPRITE_SEED41_B 4218
|
||||
#define SPRITE_SEED41_C 4219
|
||||
#define SPRITE_SEED42_A 4220
|
||||
#define SPRITE_SEED42_B 4221
|
||||
#define SPRITE_SEED42_C 4222
|
||||
#define SPRITE_SEED43_A 4223
|
||||
#define SPRITE_SEED43_B 4224
|
||||
#define SPRITE_SEED43_C 4225
|
||||
#define SPRITE_SEED44_A 4226
|
||||
#define SPRITE_SEED44_B 4227
|
||||
#define SPRITE_SEED44_C 4228
|
||||
#define SPRITE_SEED45_A 4229
|
||||
#define SPRITE_SEED45_B 4230
|
||||
#define SPRITE_SEED45_C 4231
|
||||
#define SPRITE_SEED46_A 4232
|
||||
#define SPRITE_SEED46_B 4233
|
||||
#define SPRITE_SEED46_C 4234
|
||||
#define SPRITE_SEED47_A 4235
|
||||
#define SPRITE_SEED47_B 4236
|
||||
#define SPRITE_SEED47_C 4237
|
||||
#define SPRITE_SEED48_A 4238
|
||||
#define SPRITE_SEED48_B 4239
|
||||
#define SPRITE_SEED48_C 4240
|
||||
#define SPRITE_SEED49_A 4241
|
||||
#define SPRITE_SEED49_B 4242
|
||||
#define SPRITE_SEED49_C 4243
|
||||
#define SPRITE_SEED50_A 4244
|
||||
#define SPRITE_SEED50_B 4245
|
||||
#define SPRITE_SEED50_C 4246
|
||||
#define SPRITE_SEED51_A 4247
|
||||
#define SPRITE_SEED51_B 4248
|
||||
#define SPRITE_SEED51_C 4249
|
||||
#define SPRITE_SEED52_A 4250
|
||||
#define SPRITE_SEED52_B 4251
|
||||
#define SPRITE_SEED52_C 4252
|
||||
#define SPRITE_SEED53_A 4253
|
||||
#define SPRITE_SEED53_B 4254
|
||||
#define SPRITE_SEED53_C 4255
|
||||
#define SPRITE_SEED54_A 4256
|
||||
#define SPRITE_SEED54_B 4257
|
||||
#define SPRITE_SEED54_C 4258
|
||||
#define SPRITE_SEED55_A 4259
|
||||
#define SPRITE_SEED55_B 4260
|
||||
#define SPRITE_SEED55_C 4261
|
||||
#define SPRITE_SEED56_A 4262
|
||||
#define SPRITE_SEED56_B 4263
|
||||
#define SPRITE_SEED56_C 4264
|
||||
#define SPRITE_SEED57_A 4265
|
||||
#define SPRITE_SEED57_B 4266
|
||||
#define SPRITE_SEED57_C 4267
|
||||
#define SPRITE_SEED58_A 4268
|
||||
#define SPRITE_SEED58_B 4269
|
||||
#define SPRITE_SEED58_C 4270
|
||||
#define SPRITE_SEED59_A 4271
|
||||
#define SPRITE_SEED59_B 4272
|
||||
#define SPRITE_SEED59_C 4273
|
||||
#define SPRITE_SEED60_A 4274
|
||||
#define SPRITE_SEED60_B 4275
|
||||
#define SPRITE_SEED60_C 4276
|
||||
#define SPRITE_SEED61_A 4277
|
||||
#define SPRITE_SEED61_B 4278
|
||||
#define SPRITE_SEED61_C 4279
|
||||
#define SPRITE_SEED62_A 4280
|
||||
#define SPRITE_SEED62_B 4281
|
||||
#define SPRITE_SEED62_C 4282
|
||||
#define SPRITE_SEED63_A 4283
|
||||
#define SPRITE_SEED63_B 4284
|
||||
#define SPRITE_SEED63_C 4285
|
||||
#define SPRITE_SEED64_A 4286
|
||||
#define SPRITE_SEED64_B 4287
|
||||
#define SPRITE_SEED64_C 4288
|
||||
|
||||
#define SPRITE_CAMERA_FOCUS 8192
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
#ifndef POKEDIAMOND_FIELD_PLAYER_AVATAR_H
|
||||
#define POKEDIAMOND_FIELD_PLAYER_AVATAR_H
|
||||
|
||||
#include "global.h"
|
||||
|
||||
typedef struct PlayerAvatar {
|
||||
u8 padding0[0x40];
|
||||
} PlayerAvatar; // TODO: populate once we know more
|
||||
|
||||
#endif // POKEDIAMOND_FIELD_PLAYER_AVATAR_H
|
||||
|
|
@ -5,8 +5,8 @@
|
|||
|
||||
#include "bg_window.h"
|
||||
#include "camera.h"
|
||||
#include "field_player_avatar.h"
|
||||
#include "field_types_def.h"
|
||||
#include "player_avatar.h"
|
||||
#include "save.h"
|
||||
#include "task.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -6,5 +6,6 @@ typedef struct LocalMapObject LocalMapObject;
|
|||
typedef struct MapObjectManager MapObjectManager;
|
||||
typedef struct ObjectEvent ObjectEvent;
|
||||
typedef struct TaskManager TaskManager;
|
||||
typedef struct PlayerAvatar PlayerAvatar;
|
||||
|
||||
#endif // POKEDIAMOND_FIELD_TYPES_DEF_H
|
||||
|
|
|
|||
|
|
@ -330,19 +330,19 @@ BOOL MapObject_CheckFlag29(LocalMapObject *object);
|
|||
u32 MapObject_GetInitialX(LocalMapObject *object);
|
||||
u32 MapObject_GetInitialY(LocalMapObject *object);
|
||||
u32 MapObject_GetInitialZ(LocalMapObject *object);
|
||||
u32 MapObject_GetPreviousX(LocalMapObject *object);
|
||||
u32 MapObject_GetPreviousXCoord(LocalMapObject *object);
|
||||
void MapObject_SetPreviousX(LocalMapObject *object, u32 previousX);
|
||||
u32 MapObject_GetPreviousY(LocalMapObject *object);
|
||||
u32 MapObject_GetPreviousYCoord(LocalMapObject *object);
|
||||
void MapObject_SetPreviousY(LocalMapObject *object, u32 previousY);
|
||||
u32 MapObject_GetPreviousZ(LocalMapObject *object);
|
||||
u32 MapObject_GetPreviousZCoord(LocalMapObject *object);
|
||||
void MapObject_SetPreviousZ(LocalMapObject *object, u32 previousZ);
|
||||
u32 MapObject_GetCurrentX(LocalMapObject *object);
|
||||
u32 MapObject_GetXCoord(LocalMapObject *object);
|
||||
void MapObject_SetCurrentX(LocalMapObject *object, u32 currentX);
|
||||
void MapObject_AddCurrentX(LocalMapObject *object, u32 currentX);
|
||||
s32 MapObject_GetCurrentY(LocalMapObject *object);
|
||||
s32 MapObject_GetYCoord(LocalMapObject *object);
|
||||
void MapObject_SetCurrentY(LocalMapObject *object, s32 currentY);
|
||||
void MapObject_AddCurrentY(LocalMapObject *object, s32 currentY);
|
||||
u32 MapObject_GetCurrentZ(LocalMapObject *object);
|
||||
u32 MapObject_GetZCoord(LocalMapObject *object);
|
||||
void MapObject_SetCurrentZ(LocalMapObject *object, u32 currentZ);
|
||||
void MapObject_AddCurrentZ(LocalMapObject *object, u32 currentZ);
|
||||
void MapObject_CopyPositionVector(LocalMapObject *object, VecFx32 *positionVector);
|
||||
|
|
@ -357,7 +357,7 @@ 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_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);
|
||||
|
|
|
|||
116
include/player_avatar.h
Normal file
116
include/player_avatar.h
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
#ifndef POKEDIAMOND_PLAYER_AVATAR_H
|
||||
#define POKEDIAMOND_PLAYER_AVATAR_H
|
||||
|
||||
#include "nitro/FX_types.h"
|
||||
|
||||
#include "global.h"
|
||||
|
||||
#include "field_types_def.h"
|
||||
|
||||
typedef enum PlayerAvatarFlags {
|
||||
AVATAR_FLAG_UNK0 = (1 << 0),
|
||||
AVATAR_FLAG_UNK1 = (1 << 1),
|
||||
AVATAR_FLAG_UNK2 = (1 << 2),
|
||||
AVATAR_FLAG_LOCK_BIKE_STATE = (1 << 3), // Blocks the player from mounting/dismounting their bike (though this was intended to stop dismounting during Cycling Road)
|
||||
AVATAR_FLAG_UNK4 = (1 << 4),
|
||||
AVATAR_FLAG_UNK5 = (1 << 5),
|
||||
AVATAR_FLAG_UNK6 = (1 << 6),
|
||||
AVATAR_FLAG_UNK7 = (1 << 7),
|
||||
} PlayerAvatarFlags; // TODO: check if this is right
|
||||
|
||||
typedef struct PlayerSaveData {
|
||||
u16 unk0;
|
||||
u16 hasRunningShoes; // bool16
|
||||
s32 state;
|
||||
} PlayerSaveData; // TODO: copied from heartgold, check if this is correct
|
||||
|
||||
struct PlayerAvatar {
|
||||
PlayerAvatarFlags flags;
|
||||
u32 transitionFlags;
|
||||
u32 unk8;
|
||||
u8 padding0[0x4];
|
||||
u32 unk10;
|
||||
u32 unk14;
|
||||
s32 state;
|
||||
u32 gender;
|
||||
s32 unk20;
|
||||
s32 unk24;
|
||||
s32 unk28;
|
||||
LocalMapObject *mapObject;
|
||||
u32 unk30;
|
||||
PlayerSaveData *playerSaveData;
|
||||
u8 padding2[0x4];
|
||||
}; // TODO: populate once we know more
|
||||
|
||||
PlayerAvatar *PlayerAvatar_CreateWithParams(MapObjectManager *mapObjectManager, u32 x, u32 z, u32 direction, s32 state, u32 gender, PlayerSaveData *playerSaveData);
|
||||
PlayerAvatar *PlayerAvatar_CreateWithActiveMapObject(MapObjectManager *mapObjectManager, PlayerSaveData *playerSaveData, u32 gender);
|
||||
void sub_02055108(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_FreeToHeap(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_DeleteFromMap(PlayerAvatar *avatar);
|
||||
LocalMapObject *MapObjectManager_GetFirstActiveObjectWithMovement1(MapObjectManager *manager);
|
||||
u32 PlayerAvatar_GetFacingDirection(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_SetFacingDirection(PlayerAvatar *avatar, u32 direction);
|
||||
u32 PlayerAvatar_GetNextFacingDirection(PlayerAvatar *avatar);
|
||||
u32 PlayerAvatar_GetXCoord(PlayerAvatar *avatar);
|
||||
u32 PlayerAvatar_GetZCoord(PlayerAvatar *avatar);
|
||||
u32 PlayerAvatar_GetPreviousXCoord(PlayerAvatar *avatar);
|
||||
u32 PlayerAvatar_GetPreviousZCoord(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_CopyPositionVector(PlayerAvatar *avatar, VecFx32 *vector);
|
||||
VecFx32 *PlayerAvatar_GetPositionVector(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_SetUnk10(PlayerAvatar *avatar, u32 param1);
|
||||
u32 PlayerAvatar_GetUnk10(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_SetUnk14(PlayerAvatar *avatar, u32 param1);
|
||||
u32 PlayerAvatar_GetUnk14(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_ToggleVisible(PlayerAvatar *avatar, BOOL invisible);
|
||||
void PlayerAvatar_SetMapObject(PlayerAvatar *avatar, LocalMapObject *mapObject);
|
||||
LocalMapObject *PlayerAvatar_GetMapObject(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_SetState(PlayerAvatar *avatar, s32 state);
|
||||
s32 PlayerAvatar_GetState(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_SetTransitionFlagsBits(PlayerAvatar *avatar, u32 flags);
|
||||
void PlayerAvatar_SetTransitionFlags(PlayerAvatar *avatar, u32 flags);
|
||||
u32 PlayerAvatar_GetTransitionFlags(PlayerAvatar *avatar);
|
||||
u32 PlayerAvatar_GetGender(PlayerAvatar *avatar);
|
||||
s32 PlayerAvatar_GetUnk20(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_SetUnk20(PlayerAvatar *avatar, s32 param1);
|
||||
void PlayerAvatar_ClearUnk20ClearFlag2(PlayerAvatar *avatar);
|
||||
s32 PlayerAvatar_Unk20AddWithCeiling(PlayerAvatar *avatar, s32 param1, s32 param2);
|
||||
s32 PlayerAvatar_GetUnk24(PlayerAvatar *avatar);
|
||||
s32 PlayerAvatar_GetUnk28(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_SetUnk24Unk28(PlayerAvatar *avatar, s32 unk24, s32 unk28);
|
||||
void PlayerAvatar_SetUnk30(PlayerAvatar *avatar, u32 param1);
|
||||
u32 PlayerAvatar_GetUnk30(PlayerAvatar *avatar);
|
||||
PlayerSaveData *PlayerAvatar_GetPlayerSaveData(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_SetUnk8(PlayerAvatar *avatar, u32 param1);
|
||||
u32 PlayerAvatar_GetUnk8(PlayerAvatar *avatar);
|
||||
void PlayerSaveData_Init(PlayerSaveData *playerSaveData);
|
||||
BOOL PlayerSaveData_CheckRunningShoes(PlayerSaveData *playerSaveData);
|
||||
void PlayerSaveData_SetRunningShoesFlag(PlayerSaveData *playerSaveData, BOOL flag);
|
||||
void PlayerAvatar_SetPlayerSaveDataUnk0(PlayerAvatar *playerAvatar, u16 unk0);
|
||||
u16 PlayerAvatar_GetPlayerSaveDataUnk0(PlayerAvatar *playerAvatar);
|
||||
void sub_020554EC(PlayerAvatar *avatar, VecFx32 *position, u32 direction);
|
||||
void sub_02055514(PlayerAvatar *avatar, u32 x, u32 z, u32 direction);
|
||||
void PlayerAvatar_SetMapObjectYPosition(PlayerAvatar *avatar, fx32 yVal);
|
||||
void PlayerAvatar_ToggleAutomaticHeightUpdating(PlayerAvatar *avatar, u8 flag);
|
||||
void PlayerAvatar_ToggleAutomaticHeightUpdatingImmediate(PlayerAvatar *avatar, BOOL flag);
|
||||
u32 PlayerAvatar_GetSpriteByStateAndGender(s32 state, u32 gender);
|
||||
u32 PlayerAvatar_GetTransitionBits(s32 state);
|
||||
PlayerAvatar *FieldSystem_GetPlayerAvatar(FieldSystem *fieldSystem);
|
||||
void PlayerAvatar_SetFlag0(PlayerAvatar *avatar, BOOL set);
|
||||
BOOL PlayerAvatar_CheckFlag0(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_SetFlag1(PlayerAvatar *avatar, BOOL set);
|
||||
BOOL PlayerAvatar_CheckFlag1(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_SetFlag2(PlayerAvatar *avatar, BOOL set);
|
||||
BOOL PlayerAvatar_CheckFlag2(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_SetBikeStateLock(PlayerAvatar *avatar, BOOL lock);
|
||||
BOOL PlayerAvatar_CheckBikeStateLocked(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_SetFlag4(PlayerAvatar *avatar, BOOL set);
|
||||
BOOL PlayerAvatar_CheckFlag4(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_SetFlag5(PlayerAvatar *avatar, BOOL set);
|
||||
BOOL PlayerAvatar_CheckFlag5(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_SetFlag6(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_ClearFlag6(PlayerAvatar *avatar);
|
||||
BOOL PlayerAvatar_CheckFlag6(PlayerAvatar *avatar);
|
||||
void PlayerAvatar_SetFlag7(PlayerAvatar *avatar, BOOL set);
|
||||
BOOL PlayerAvatar_CheckFlag7(PlayerAvatar *avatar);
|
||||
|
||||
#endif // POKEDIAMOND_PLAYER_AVATAR_H
|
||||
|
|
@ -9,11 +9,6 @@ struct SaveData;
|
|||
|
||||
#define MAX_MONEY 999999
|
||||
|
||||
typedef enum PlayerGender {
|
||||
PLAYER_GENDER_MALE = 0,
|
||||
PLAYER_GENDER_FEMALE = 1
|
||||
} PlayerGender;
|
||||
|
||||
typedef struct PlayerProfile {
|
||||
/* 0x00 */ u16 playerName[PLAYER_NAME_LENGTH + 1];
|
||||
/* 0x10 */ u32 playerId;
|
||||
|
|
@ -56,8 +51,8 @@ struct String *PlayerProfile_GetPlayerName_NewString(PlayerProfile *data, HeapID
|
|||
void PlayerProfile_SetTrainerID(PlayerProfile *playerProfile, u32 otid);
|
||||
u32 PlayerProfile_GetTrainerID(PlayerProfile *data);
|
||||
u16 PlayerProfile_GetTrainerID_VisibleHalf(PlayerProfile *data);
|
||||
void PlayerProfile_SetTrainerGender(PlayerProfile *data, PlayerGender gender);
|
||||
PlayerGender PlayerProfile_GetTrainerGender(PlayerProfile *data);
|
||||
void PlayerProfile_SetTrainerGender(PlayerProfile *data, u32 gender);
|
||||
u32 PlayerProfile_GetTrainerGender(PlayerProfile *data);
|
||||
BOOL PlayerProfile_TestBadgeFlag(PlayerProfile *data, u32 badgeno);
|
||||
void PlayerProfile_SetBadgeFlag(PlayerProfile *data, u32 badgeno);
|
||||
u32 PlayerProfile_CountBadges(PlayerProfile *data);
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@
|
|||
#include "script.h"
|
||||
#include "unk_0200CA44.h"
|
||||
|
||||
#define obj_player 255
|
||||
|
||||
extern u16 FieldSystem_VarGet(FieldSystem *fieldSystem, u16);
|
||||
extern u16 *GetVarPointer(FieldSystem *fieldSystem, u16);
|
||||
extern SaveData *FieldSystem_GetSaveData(FieldSystem *fieldSystem);
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@
|
|||
#include "bg_window.h"
|
||||
#include "camera.h"
|
||||
#include "fashion_case.h"
|
||||
#include "field_player_avatar.h"
|
||||
#include "field_system.h"
|
||||
#include "map_object.h"
|
||||
#include "msgdata.h"
|
||||
#include "player_avatar.h"
|
||||
#include "render_window.h"
|
||||
#include "save.h"
|
||||
#include "save_local_field_data.h"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user