mirror of
https://github.com/pret/pokediamond.git
synced 2026-03-21 17:54:29 -05:00
more decomp
This commit is contained in:
parent
7715a27163
commit
aa082ace99
|
|
@ -7,193 +7,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start PlayerAvatar_SetPlayerSaveData
|
||||
PlayerAvatar_SetPlayerSaveData: ; 0x02055458
|
||||
str r1, [r0, #0x34]
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0205545C
|
||||
sub_0205545C: ; 0x0205545C
|
||||
ldr r0, [r0, #0x34]
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_02055460
|
||||
sub_02055460: ; 0x02055460
|
||||
str r1, [r0, #0x8]
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_02055464
|
||||
sub_02055464: ; 0x02055464
|
||||
ldr r0, [r0, #0x8]
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_02055468
|
||||
sub_02055468: ; 0x02055468
|
||||
mov r1, #0x0
|
||||
strh r1, [r0, #0x0]
|
||||
strh r1, [r0, #0x2]
|
||||
str r1, [r0, #0x4]
|
||||
bx lr
|
||||
.balign 4
|
||||
|
||||
thumb_func_start sub_02055474
|
||||
sub_02055474: ; 0x02055474
|
||||
cmp r0, #0x0
|
||||
beq _02055482
|
||||
ldrh r0, [r0, #0x2]
|
||||
cmp r0, #0x1
|
||||
bne _02055482
|
||||
mov r0, #0x1
|
||||
bx lr
|
||||
_02055482:
|
||||
mov r0, #0x0
|
||||
bx lr
|
||||
.balign 4
|
||||
|
||||
thumb_func_start sub_02055488
|
||||
sub_02055488: ; 0x02055488
|
||||
cmp r1, #0x1
|
||||
bne _02055492
|
||||
mov r1, #0x1
|
||||
strh r1, [r0, #0x2]
|
||||
bx lr
|
||||
_02055492:
|
||||
mov r1, #0x0
|
||||
strh r1, [r0, #0x2]
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_02055498
|
||||
sub_02055498: ; 0x02055498
|
||||
cmp r0, #0x0
|
||||
bne _020554A0
|
||||
mov r0, #0x0
|
||||
bx lr
|
||||
_020554A0:
|
||||
ldrh r0, [r0, #0x0]
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_020554A4
|
||||
sub_020554A4: ; 0x020554A4
|
||||
cmp r0, #0x0
|
||||
beq _020554AA
|
||||
strh r1, [r0, #0x0]
|
||||
_020554AA:
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_020554AC
|
||||
sub_020554AC: ; 0x020554AC
|
||||
push {r4, lr}
|
||||
add r4, r1, #0x0
|
||||
bl sub_0205545C
|
||||
add r1, r4, #0x0
|
||||
bl sub_020554A4
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_020554BC
|
||||
sub_020554BC: ; 0x020554BC
|
||||
push {r3, lr}
|
||||
bl sub_0205545C
|
||||
bl sub_02055498
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start PlayerSaveData_GetState
|
||||
PlayerSaveData_GetState: ; 0x020554C8
|
||||
cmp r0, #0x0
|
||||
beq _020554D0
|
||||
ldr r0, [r0, #0x4]
|
||||
bx lr
|
||||
_020554D0:
|
||||
mov r0, #0x0
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_020554D4
|
||||
sub_020554D4: ; 0x020554D4
|
||||
cmp r0, #0x0
|
||||
beq _020554DA
|
||||
str r1, [r0, #0x4]
|
||||
_020554DA:
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_020554DC
|
||||
sub_020554DC: ; 0x020554DC
|
||||
push {r4, lr}
|
||||
add r4, r1, #0x0
|
||||
bl sub_0205545C
|
||||
add r1, r4, #0x0
|
||||
bl sub_020554D4
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_020554EC
|
||||
sub_020554EC: ; 0x020554EC
|
||||
push {r4-r6, lr}
|
||||
add r4, r1, #0x0
|
||||
add r6, r2, #0x0
|
||||
add r5, r0, #0x0
|
||||
bl PlayerAvatar_GetMapObject
|
||||
add r1, r4, #0x0
|
||||
add r2, r6, #0x0
|
||||
bl LocalMapObject_SetPositionFromVectorAndDirection
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
bl PlayerAvatar_SetUnk10
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
bl PlayerAvatar_SetUnk14
|
||||
pop {r4-r6, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start sub_02055514
|
||||
sub_02055514: ; 0x02055514
|
||||
push {r3-r7, lr}
|
||||
add r6, r1, #0x0
|
||||
add r7, r2, #0x0
|
||||
add r5, r0, #0x0
|
||||
add r4, r3, #0x0
|
||||
bl PlayerAvatar_GetMapObject
|
||||
add r1, r6, #0x0
|
||||
mov r2, #0x0
|
||||
add r3, r7, #0x0
|
||||
str r4, [sp, #0x0]
|
||||
bl MapObject_SetPositionFromXYZAndDirection
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
bl PlayerAvatar_SetUnk10
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
bl PlayerAvatar_SetUnk14
|
||||
pop {r3-r7, pc}
|
||||
|
||||
thumb_func_start sub_02055540
|
||||
sub_02055540: ; 0x02055540
|
||||
push {r4-r5, lr}
|
||||
sub sp, #0xc
|
||||
add r5, r1, #0x0
|
||||
bl PlayerAvatar_GetMapObject
|
||||
add r4, r0, #0x0
|
||||
add r1, sp, #0x0
|
||||
bl MapObject_CopyPositionVector
|
||||
add r0, r4, #0x0
|
||||
add r1, sp, #0x0
|
||||
str r5, [sp, #0x4]
|
||||
bl MapObject_SetPositionVector
|
||||
add sp, #0xc
|
||||
pop {r4-r5, pc}
|
||||
|
||||
thumb_func_start PlayerAvatar_ToggleAutomaticHeightUpdating
|
||||
PlayerAvatar_ToggleAutomaticHeightUpdating: ; 0x02055560
|
||||
push {r4, lr}
|
||||
add r4, r1, #0x0
|
||||
bl PlayerAvatar_GetMapObject
|
||||
cmp r4, #0x1
|
||||
bne _02055574
|
||||
mov r1, #0x0
|
||||
bl MapObject_SetIgnoreHeights
|
||||
pop {r4, pc}
|
||||
_02055574:
|
||||
mov r1, #0x1
|
||||
bl MapObject_SetIgnoreHeights
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0205557C
|
||||
sub_0205557C: ; 0x0205557C
|
||||
push {r3-r5, lr}
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
|
|
|
|||
|
|
@ -806,7 +806,7 @@ _02055E62:
|
|||
mov r1, #0x1
|
||||
bl PlayerAvatar_SetUnk10
|
||||
add r0, r5, #0x0
|
||||
bl sub_020554BC
|
||||
bl PlayerAvatar_GetPlayerSaveDataUnk0
|
||||
cmp r0, #0x1
|
||||
bne _02055E9C
|
||||
add r0, r5, #0x0
|
||||
|
|
@ -862,7 +862,7 @@ sub_02055EF8: ; 0x02055EF8
|
|||
add r4, r0, #0x0
|
||||
bl MapObject_GetNextFacingDirection
|
||||
add r0, r5, #0x0
|
||||
bl sub_020554BC
|
||||
bl PlayerAvatar_GetPlayerSaveDataUnk0
|
||||
cmp r0, #0x1
|
||||
bne _02055F22
|
||||
ldr r0, _02055F40 ; =0x00000656
|
||||
|
|
@ -897,7 +897,7 @@ sub_02055F44: ; 0x02055F44
|
|||
add r4, r0, #0x0
|
||||
bl MapObject_GetNextFacingDirection
|
||||
add r0, r5, #0x0
|
||||
bl sub_020554BC
|
||||
bl PlayerAvatar_GetPlayerSaveDataUnk0
|
||||
cmp r0, #0x1
|
||||
bne _02055F6E
|
||||
ldr r0, _02055F8C ; =0x00000656
|
||||
|
|
@ -1363,8 +1363,8 @@ _020562DC:
|
|||
_020562E6:
|
||||
add r0, r5, #0x0
|
||||
mov r4, #0xc
|
||||
bl sub_0205545C
|
||||
bl sub_02055474
|
||||
bl PlayerAvatar_GetPlayerSaveData
|
||||
bl PlayerSaveData_CheckRunningShoes
|
||||
cmp r0, #0x1
|
||||
bne _02056306
|
||||
add r1, sp, #0x8
|
||||
|
|
@ -1458,7 +1458,7 @@ sub_020563A8: ; 0x020563A8
|
|||
add r4, r1, #0x0
|
||||
add r6, r2, #0x0
|
||||
add r7, r3, #0x0
|
||||
bl sub_020554BC
|
||||
bl PlayerAvatar_GetPlayerSaveDataUnk0
|
||||
cmp r0, #0x1
|
||||
add r0, sp, #0x10
|
||||
bne _020563D6
|
||||
|
|
@ -1500,14 +1500,14 @@ sub_020563F0: ; 0x020563F0
|
|||
beq _0205642C
|
||||
add r0, r5, #0x0
|
||||
mov r4, #0x1
|
||||
bl sub_020554BC
|
||||
bl PlayerAvatar_GetPlayerSaveDataUnk0
|
||||
cmp r0, #0x1
|
||||
bne _02056412
|
||||
mov r4, #0x0
|
||||
_02056412:
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
bl sub_020554AC
|
||||
bl PlayerAvatar_SetPlayerSaveDataUnk0
|
||||
cmp r4, #0x0
|
||||
bne _02056426
|
||||
ldr r0, _02056430 ; =0x0000061C
|
||||
|
|
@ -2422,7 +2422,7 @@ sub_02056B5C: ; 0x02056B5C
|
|||
add r4, r2, #0x0
|
||||
add r5, r1, #0x0
|
||||
add r1, r4, #0x0
|
||||
bl sub_02055460
|
||||
bl PlayerAvatar_SetUnk8
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
bl sub_0205ADDC
|
||||
|
|
@ -3173,7 +3173,7 @@ _0205711E:
|
|||
thumb_func_start sub_02057124
|
||||
sub_02057124: ; 0x02057124
|
||||
push {r3, lr}
|
||||
bl sub_02055464
|
||||
bl PlayerAvatar_GetUnk8
|
||||
sub r0, #0x58
|
||||
cmp r0, #0x3
|
||||
bhi _02057148
|
||||
|
|
@ -3216,7 +3216,7 @@ _02057162:
|
|||
b _0205718E
|
||||
_02057172:
|
||||
add r0, r5, #0x0
|
||||
bl sub_020554BC
|
||||
bl PlayerAvatar_GetPlayerSaveDataUnk0
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
bl sub_020568A8
|
||||
|
|
|
|||
|
|
@ -217,7 +217,7 @@ sub_0205E65C: ; 0x0205E65C
|
|||
push {r3, lr}
|
||||
bl MapObject_GetFieldSystem
|
||||
bl sub_02055698
|
||||
bl sub_02055464
|
||||
bl PlayerAvatar_GetUnk8
|
||||
add r1, r0, #0x0
|
||||
sub r1, #0x58
|
||||
cmp r1, #0x3
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -3928,17 +3928,17 @@
|
|||
.extern PlayerAvatar_SetUnk24Unk28
|
||||
.extern PlayerAvatar_SetUnk30
|
||||
.extern PlayerAvatar_GetUnk30
|
||||
.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_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_GetSpriteByStateAndGender
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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]
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -15,16 +15,18 @@ static void PlayerAvatar_SetGender(PlayerAvatar *avatar, u32 gender);
|
|||
/*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 u32 PlayerAvatar_GetSpriteByStateAndGender(s32 state, u32 gender);
|
||||
extern u32 PlayerSaveData_GetState(PlayerSaveData *playerSaveData);
|
||||
extern void ov05_021EDBC8(PlayerAvatar *avatar);
|
||||
extern u32 ov06_0224ABAC(LocalMapObject *mapObject, u32 x, u32 z, u32 direction, u32 param4);
|
||||
extern void PlayerAvatar_SetPlayerSaveData(PlayerAvatar *avatar, PlayerSaveData *saveData);
|
||||
extern void sub_02055460(PlayerAvatar *avatar, u32 param1);
|
||||
extern void sub_020556C8(PlayerAvatar *avatar, u32 param1);
|
||||
extern void sub_0205574C(PlayerAvatar *avatar, u32 param1);
|
||||
extern void sub_020554DC(PlayerAvatar *avatar, s32 state);
|
||||
extern void PlayerAvatar_SetFlag2(PlayerAvatar *avatar, BOOL flag);
|
||||
|
||||
PlayerAvatar *PlayerAvatar_CreateWithParams(MapObjectManager *manager, u32 x, u32 z, u32 direction, s32 state, u32 gender, PlayerSaveData *playerSaveData) {
|
||||
|
|
@ -87,7 +89,7 @@ static void PlayerAvatar_Setup(PlayerAvatar *avatar, s32 state, u32 gender, Play
|
|||
PlayerAvatar_ClearUnk20ClearFlag2(avatar);
|
||||
PlayerAvatar_SetUnk24(avatar, -1);
|
||||
PlayerAvatar_SetUnk28(avatar, -1);
|
||||
sub_02055460(avatar, 255);
|
||||
PlayerAvatar_SetUnk8(avatar, 255);
|
||||
sub_020556C8(avatar, 1);
|
||||
sub_0205574C(avatar, 1);
|
||||
}
|
||||
|
|
@ -203,7 +205,7 @@ static LocalMapObject *PlayerAvatar_GetMapObjectConst(PlayerAvatar *avatar) {
|
|||
void PlayerAvatar_SetState(PlayerAvatar *avatar, s32 state) {
|
||||
GF_ASSERT(state < PLAYER_STATE_UNK_SP);
|
||||
avatar->state = state;
|
||||
sub_020554DC(avatar, state);
|
||||
PlayerAvatar_SetPlayerSaveDataState(avatar, state);
|
||||
}
|
||||
|
||||
s32 PlayerAvatar_GetState(PlayerAvatar *avatar) {
|
||||
|
|
@ -293,3 +295,109 @@ void PlayerAvatar_SetUnk30(PlayerAvatar *avatar, u32 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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -290,7 +290,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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -19,13 +19,16 @@ typedef enum PlayerAvatarFlags {
|
|||
} PlayerAvatarFlags; // TODO: check if this is right
|
||||
|
||||
typedef struct PlayerSaveData {
|
||||
u8 padding[0x8];
|
||||
} PlayerSaveData;
|
||||
u16 unk0;
|
||||
u16 hasRunningShoes; // bool16
|
||||
s32 state;
|
||||
} PlayerSaveData; // TODO: copied from heartgold, check if this is correct
|
||||
|
||||
struct PlayerAvatar {
|
||||
PlayerAvatarFlags flags;
|
||||
u32 transitionFlags;
|
||||
u8 padding0[0x8];
|
||||
u32 unk8;
|
||||
u8 padding0[0x4];
|
||||
u32 unk10;
|
||||
u32 unk14;
|
||||
s32 state;
|
||||
|
|
@ -35,7 +38,8 @@ struct PlayerAvatar {
|
|||
s32 unk28;
|
||||
LocalMapObject *mapObject;
|
||||
u32 unk30;
|
||||
u8 padding2[0x8];
|
||||
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);
|
||||
|
|
@ -75,5 +79,17 @@ 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);
|
||||
|
||||
#endif // POKEDIAMOND_PLAYER_AVATAR_H
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user