z_player_lib: Part 1 (#688)

* fix some symbols and file splits

* PLAYER_STATE macros

* Move over a few functions

* AP functions and update struct

* another small bunch

* Add player_lib prototypes

* A few more functions

* Some fixes and add stuff to actorfixer

* format

* bss

* Elliptic's review

* Engineer's review

* Some renames and cleanups

* bss

* A bit of cleaning up

* Player_DrawZoraShield

* format

* actorfixer, bss and format

* Forgot to merge master again

* Rename some LinkGoron dlists

* PlayerMeleeWeaponAnimation enum

* format

* actorfixer, bss and format

* more bss

* actorfixer

* format

* actorfixer and format

* bss

* Update src/code/z_player_lib.c

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* sEnvironmentTextTriggers

* Update include/z64save.h

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* Update src/code/z_player_lib.c

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* Update src/code/z_player_lib.c

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* Update src/code/z_player_lib.c

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* breman mask march comment

* fix

* fixes

* bss

* RESPAWN_MODE_RETURN

* review

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* format

* Engineer's review

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_player_lib.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* review

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* Update include/z64player.h

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* review

Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* format

* unused mwas

* fixes

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
This commit is contained in:
Anghelo Carvajal
2022-07-11 23:43:46 -04:00
committed by GitHub
co-authored by Derek Hensley EllipticEllipsis engineer124 EllipticEllipsis
parent cd5de59431
commit 87506f7c19
71 changed files with 1729 additions and 454 deletions
+65 -87
View File
@@ -542,7 +542,7 @@ void EffectSsDFire_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* ac
void EffectSsBubble_Spawn(PlayState* play, Vec3f* pos, f32 yPosOffset, f32 yPosRandScale, f32 xzPosRandScale, f32 scale);
void EffectSsGRipple_Spawn(PlayState* play, Vec3f* pos, s16 radius, s16 radiusMax, s16 life);
void EffectSsGSplash_Spawn(PlayState* play, Vec3f* pos, Color_RGBA8* primColor, Color_RGBA8* envColor, s16 type, s16 scale);
// void EffectSsGFire_Spawn(UNK_TYPE4 uParm1, Vec3f* pzParm2);
void EffectSsGFire_Spawn(PlayState* play, Vec3f* pos);
// void EffectSsLightning_Spawn(UNK_TYPE4 uParm1, Vec3f* pzParm2, Color_RGBA8* pzParm3, Color_RGBA8* pzParm4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8);
void EffectSsDtBubble_SpawnColorProfile(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 life, s16 colorProfile, s16 randXZ);
void EffectSsDtBubble_SpawnCustomColor(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 life, s16 randXZ);
@@ -1123,7 +1123,7 @@ void func_800DFC90(Vec3s* arg0, Camera* camera);
s16 Camera_GetCamDirPitch(Camera* camera);
s16 Camera_GetCamDirYaw(Camera* camera);
void func_800DFD04(Camera* camera, s32 arg1, s32 arg2, s32 arg3);
// void func_800DFD78(void);
void func_800DFD78(Camera* camera, s32 paramFlag, void* value);
// UNK_TYPE4 func_800DFEF0(s32 param_1, u16 param_2);
// UNK_TYPE4 func_800DFF18(Camera* iParm1, UNK_TYPE2 uParm2);
// UNK_TYPE4 func_800DFF34(s32 param_1);
@@ -1893,7 +1893,7 @@ void func_801149A0(s32 itemId, s16 slotId);
// void func_80114CA0(void);
s32 Interface_HasEmptyBottle(void);
s32 Interface_HasItemInBottle(u8 itemId);
// void func_80114FD0(void);
void func_80114FD0(PlayState* play, u8 itemId, u8 heldItemButton);
// void func_80115130(void);
// void func_801152B8(void);
// void func_801153C8(void);
@@ -1943,108 +1943,86 @@ void func_80121FC4(PlayState* play);
Path* Path_GetByIndex(PlayState* play, s16 index, s16 max);
f32 Path_OrientAndGetDistSq(Actor* actor, Path* path, s16 waypoint, s16* yaw);
void Path_CopyLastPoint(Path* path, Vec3f* dest);
void FrameAdvance_Init(FrameAdvanceContext* frameAdvCtx);
s32 FrameAdvance_Update(FrameAdvanceContext* frameAdvCtx, Input* input);
void func_801226E0(PlayState* play, s8 arg1);
void func_80122744(PlayState* play, UNK_PTR arg1, u32 arg2, Vec3s* arg3);
s32 func_80122760(PlayState* play, UNK_PTR arg1, f32 arg2);
s32 func_801226E0(PlayState* play, s32 arg1);
s32 func_80122744(PlayState* play, struct_80122744_arg1* arg1, u32 arg2, Vec3s* arg3);
s32 func_80122760(PlayState* play, struct_80122744_arg1* arg1, f32 arg2);
void func_80122868(PlayState* play, Player* player);
void func_801229A0(PlayState* play, Player* player);
// void func_801229EC(void);
// void func_801229FC(void);
// void func_80122BA4(void);
// void func_80122C20(void);
// void func_80122D44(void);
// void func_80122ED8(void);
// void func_80122EEC(void);
void func_801229EC(UNK_TYPE arg0, UNK_TYPE arg1);
void func_801229FC(Player* player);
void func_80122BA4(PlayState* play, struct_80122D44_arg1* arg1, s32 arg2, s32 alpha);
void func_80122C20(PlayState* play, struct_80122D44_arg1* arg1);
void func_80122D44(PlayState* play, struct_80122D44_arg1* arg1);
u8 Player_MaskIdToItemId(s32 maskIdMinusOne);
u8 Player_GetCurMaskItemId(PlayState* play);
void func_80122F28(Player* player);
s32 func_80122F9C(PlayState* play);
s32 func_80122FCC(PlayState* play);
void func_8012300C(PlayState* play, s32 arg1);
void func_8012301C(s32 iParm1, PlayState* play);
void func_8012301C(Player* player, PlayState* play);
void func_80123140(PlayState* play, Player* player);
u32 func_80123358(PlayState* play, Player* player);
s32 Player_InCsMode(GameState* gameState);
// void func_80123420(void);
// void func_80123434(void);
// void func_80123448(void);
// void func_801234B0(void);
// void func_801234D4(void);
s32 Player_InBlockingCsMode(PlayState* play, Player* player);
s32 Player_InCsMode(PlayState* play);
s32 func_80123420(Player* player);
s32 func_80123434(Player* player);
s32 func_80123448(PlayState* play);
s32 Player_IsGoronOrDeku(Player* player);
s32 func_801234D4(PlayState* play);
s32 func_80123590(PlayState* play, Actor* actor);
// void func_8012364C(void);
s32 func_8012364C(PlayState* play, Player* player, s32 arg2);
s32 func_80123810(PlayState* play);
// void func_80123960(void);
// void func_801239AC(void);
void func_80123AA4(Player* player, s32 arg1);
// void func_80123BD4(void);
// void func_80123C58(void);
void Player_SetEquipmentData(PlayState* play, Player* this);
void func_80123D50(PlayState* play, Player* player, UNK_TYPE arg2, UNK_TYPE arg3);
s32 Player_ActionToModelGroup(Player* player, s32 actionParam);
void func_801239AC(Player* player);
void Player_SetModels(Player* player, s32 arg1);
void Player_SetModelGroup(Player* player, s32 modelGroup);
void func_80123C58(Player* player);
void Player_SetEquipmentData(PlayState* play, Player* this);
void func_80123D50(PlayState* play, Player* player, s32 itemId, s32 actionParam);
void func_80123DA4(Player* player);
// void func_80123DC0(void);
void func_80123DC0(Player* player);
void func_80123E90(PlayState* play, Actor* actor);
void func_80123F2C(PlayState* play, s32 arg1);
s32 func_80123F48(PlayState* play, Vec3f* arg1, f32 arg2, f32 arg3);
s32 func_80124020(void);
s32 func_80123F2C(PlayState* play, s32 ammo);
s32 Player_IsBurningStickInRange(PlayState* play, Vec3f* pos, f32 xzRange, f32 yRange);
u8 Player_GetStrength(void);
u8 Player_GetMask(PlayState* play);
void Player_RemoveMask(PlayState* play);
s32 func_8012405C(PlayState* play);
s32 func_80124088(PlayState* play);
s32 func_801240C8(Player* player);
// void func_801240DC(void);
// void func_80124110(void);
// void func_80124148(void);
// void func_80124168(void);
s32 func_80124190(Player* player);
// void func_801241B4(void);
// void func_801241E0(void);
// void func_8012420C(void);
// void func_8012422C(void);
s32 Player_HasMirrorShieldEquipped(PlayState* play);
s32 Player_IsHoldingMirrorShield(PlayState* play);
s32 Player_IsHoldingHookshot(Player* player);
s32 func_801240DC(Player* player);
s32 func_80124110(Player* player, s32 actionParam);
s32 func_80124148(Player* player);
s32 Player_ActionToMeleeWeapon(s32 actionParam);
s32 Player_GetMeleeWeaponHeld(Player* player);
s32 Player_IsHoldingTwoHandedWeapon(Player* player);
s32 Player_ActionToBottle(Player* player, s32 actionParam);
s32 Player_GetBottleHeld(Player* Player);
s32 Player_ActionToExplosive(Player* player, s32 actionParam);
s32 Player_GetExplosiveHeld(Player* player);
// void func_80124278(void);
s32 func_80124278(Actor* actor, s32 arg1);
s32 func_801242B4(Player* player);
// void func_801242DC(void);
// void func_80124420(void);
// void func_80124618(void);
// void func_801246F4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE1 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10, UNK_TYPE4 param_11);
// void func_80124870(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8);
// void func_80124CC4(void);
// void func_80124F18(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
// void func_80124FF0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE2 param_10);
// void func_801251C4(void);
// void func_80125318(void);
// void func_80125340(void);
// void func_8012536C(void);
// void func_801253A4(void);
// void func_80125500(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
// void func_80125580(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
// void func_80125CE0(void);
// void func_80125D4C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
// void func_801262C8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
// void func_801263FC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
s32 func_801242DC(PlayState* play);
void func_80124420(Player* player);
void func_80124618(struct_80124618 arg0[], f32 curFrame, Vec3f* arg2);
void func_801246F4(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dListCount, s32 lod, s32 tunic, s32 boots, s32 face, OverrideLimbDrawFlex overrideLimbDraw, PostLimbDrawFlex postLimbDraw, Actor* actor);
void func_80125318(Vec3f* arg0, Vec3s* arg1);
void Player_DrawZoraShield(PlayState* play, Player* player);
void func_80125500(PlayState* play, Player* player, s32 limbIndex, Vec3f* pos, Vec3s* rot);
s32 func_80125D4C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* actor);
s32 func_801262C8(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* actor);
s32 func_801263FC(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx);
s32 func_80126440(PlayState* play, ColliderQuad* collider, WeaponInfo* weaponInfo, Vec3f* arg3, Vec3f* arg4);
// void func_801265C8(void);
// void func_8012669C(void);
// void func_80126808(void);
void func_8012697C(PlayState* play, Player* player);
// void func_80126AB4(void);
// void func_80126B8C(void);
// void func_80126BD0(void);
// void func_801271B0(void);
// void func_80127438(void);
// void func_80127488(void);
// void func_8012754C(void);
// void func_80127594(void);
// void func_801278F8(void);
// void func_80127A60(void);
// void func_80127B64(void);
// void func_80127BE8(void);
// void func_80127DA4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
// void func_80128388(void);
// void func_801284A0(void);
// void func_80128640(void);
// void func_80128B74(void);
// void func_80128BD0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5, UNK_TYPE4 param_6);
void Player_DrawGetItem(PlayState* play, Player* player);
void func_80126B8C(PlayState* play, Player* player);
s32 func_80127438(PlayState* play, Player* player, s32 maskId);
s32 func_80128640(PlayState* play, Player* player, Gfx* dlist);
void func_80128B74(PlayState* play, Player* player, s32 limbIndex);
void func_80128BD0(PlayState* play, s32 limbIndex, Gfx** dList1, Gfx** dList2, Vec3s* rot, Actor* actor);
void PreNMI_Stop(PreNMIContext* prenmiCtx);
void PreNMI_Update(PreNMIContext* prenmiCtx);
void PreNMI_Draw(PreNMIContext* prenmiCtx);
+5 -33
View File
@@ -1160,31 +1160,18 @@ extern UNK_PTR D_801BF5C0;
// extern UNK_TYPE1 D_801BFD8C;
// extern UNK_TYPE1 D_801BFD94;
// extern UNK_TYPE2 D_801BFD98;
// extern UNK_TYPE1 D_801BFD9E;
// extern UNK_TYPE1 D_801BFDD0;
// extern UNK_TYPE1 D_801BFDE8;
// extern UNK_TYPE1 D_801BFE00;
// extern UNK_TYPE1 D_801BFE14;
// extern UNK_TYPE2 D_801BFF34;
// extern UNK_TYPE1 D_801BFF3C;
// extern UNK_TYPE1 D_801BFF90;
// extern UNK_TYPE1 D_801BFF98;
// extern UNK_TYPE1 D_801BFFA0;
// extern UNK_TYPE1 D_801BFFB0;
extern u8 gPlayerModelTypes[][5];
// extern UNK_TYPE1 D_801BFFFC;
// extern UNK_TYPE1 D_801C0000;
// extern UNK_TYPE1 D_801C0001;
// extern UNK_TYPE1 D_801C0002;
// extern UNK_TYPE1 D_801C0008;
// extern UNK_TYPE1 D_801C0010;
// extern UNK_TYPE1 D_801C0024;
// extern UNK_TYPE1 D_801C0034;
// extern UNK_TYPE1 D_801C0040;
// extern UNK_TYPE1 D_801C005C;
// extern UNK_TYPE1 D_801C0060;
// extern UNK_TYPE1 D_801C0070;
// extern UNK_TYPE1 D_801C0084;
// extern UNK_TYPE1 D_801C00A0;
// extern UNK_TYPE1 D_801C00AC;
// extern UNK_TYPE1 D_801C00BC;
// extern UNK_TYPE1 D_801C00D4;
@@ -1204,7 +1191,6 @@ extern UNK_PTR D_801BF5C0;
// extern UNK_TYPE1 D_801C02BC;
// extern UNK_TYPE1 D_801C02D0;
// extern UNK_TYPE1 D_801C02E4;
extern UNK_PTR D_801C02F8;
// extern UNK_TYPE1 D_801C0340;
// extern UNK_TYPE1 D_801C0368;
// extern UNK_TYPE1 D_801C03A0;
@@ -1222,8 +1208,6 @@ extern UNK_PTR D_801C02F8;
// extern UNK_TYPE1 D_801C05C8;
// extern UNK_TYPE1 D_801C05D8;
// extern UNK_TYPE1 D_801C05F0;
// extern UNK_TYPE2 D_801C05F2;
// extern UNK_TYPE1 D_801C05FA;
// extern UNK_TYPE1 D_801C0608;
// extern UNK_TYPE1 D_801C0628;
// extern UNK_TYPE1 D_801C0678;
@@ -1247,14 +1231,12 @@ extern Gfx D_801C0850[];
extern UNK_PTR D_801C0870;
// extern UNK_TYPE1 D_801C0890;
// extern UNK_TYPE1 D_801C08A0;
// extern UNK_TYPE1 D_801C08A1;
// extern UNK_TYPE1 D_801C08C0;
// extern UNK_TYPE1 D_801C08FC;
// extern UNK_TYPE1 D_801C0910;
// extern UNK_TYPE1 D_801C0924;
// extern UNK_TYPE1 D_801C0938;
// extern UNK_TYPE1 D_801C094C;
// extern UNK_TYPE4 D_801C0954;
// extern UNK_TYPE4 D_801C0958;
extern UNK_PTR D_801C095C;
// extern UNK_TYPE1 D_801C0964;
@@ -1281,26 +1263,17 @@ extern UNK_PTR D_801C0B0C;
// extern UNK_TYPE1 D_801C0B20;
// extern UNK_TYPE1 D_801C0B90;
// extern UNK_TYPE4 D_801C0BA8;
// extern UNK_TYPE4 D_801C0BAC;
// extern UNK_TYPE4 D_801C0BB0;
// extern UNK_TYPE1 D_801C0BB4;
// extern UNK_TYPE4 D_801C0BB8;
// extern UNK_TYPE1 D_801C0BC0;
// extern UNK_TYPE1 D_801C0BD0;
// extern UNK_TYPE4 D_801C0BE0;
// extern UNK_TYPE4 D_801C0BE4;
// extern UNK_TYPE4 D_801C0BE8;
// extern UNK_TYPE4 D_801C0BEC;
// extern UNK_TYPE4 D_801C0BF0;
// extern UNK_TYPE4 D_801C0BF4;
// extern UNK_TYPE1 D_801C0BF8;
// extern UNK_TYPE1 D_801C0BFC;
// extern UNK_TYPE1 D_801C0C00;
// extern UNK_TYPE4 D_801C0C0C;
// extern UNK_TYPE1 D_801C0C30;
// extern UNK_TYPE1 D_801C0C54;
// extern UNK_TYPE1 D_801C0C78;
// extern UNK_TYPE1 D_801C0C94;
// extern UNK_TYPE1 D_801C0CA8;
// extern UNK_TYPE4 D_801C0CE8;
// extern UNK_TYPE1 D_801C0D24;
@@ -1323,6 +1296,7 @@ extern UNK_PTR D_801C0B0C;
// extern UNK_TYPE1 D_801C0EA0;
// extern UNK_TYPE1 D_801C0EAC;
// extern UNK_TYPE1 D_801C0EB8;
extern Gfx sSetupDL[438];
extern Gfx sFillSetupDL[12];
extern Gfx gEmptyDL[1];
@@ -1343,8 +1317,8 @@ extern u8 gItemSlots[];
extern s16 gItemPrices[];
extern u16 gScenesPerRegion[11][27];
extern u32 D_801C2410[];
extern s16 gLinkFormObjectIndexes[8];
extern RomFile objectFileTable[643];
extern s16 gPlayerFormObjectIndices[8];
extern RomFile gObjectTable[643];
extern SceneTableEntry gSceneTable[];
extern UNK_PTR D_801C5C50;
// extern UNK_TYPE1 D_801C5C9C;
@@ -3212,8 +3186,6 @@ extern s16 D_801F4E7A;
// extern UNK_TYPE1 D_801F59E0;
// extern UNK_TYPE1 D_801F59E4;
// extern UNK_TYPE1 D_801F59E8;
// extern UNK_TYPE1 D_801F59EC;
// extern UNK_TYPE1 D_801F59F0;
// extern UNK_TYPE1 D_801F59F4;
// extern UNK_TYPE1 D_801F59F8;
// extern UNK_TYPE1 sSkyboxDrawMatrix;
+3 -3
View File
@@ -552,7 +552,7 @@ typedef struct {
/* 0x214 */ u16 unk_214;
/* 0x218 */ f32 unk_218;
/* 0x21C */ s16 unk_21C;
/* 0x21E */ s16 unk_21E;
/* 0x21E */ s16 bButtonDoAction;
/* 0x220 */ s16 unk_220;
/* 0x222 */ s16 unk_222;
/* 0x224 */ s16 unk_224;
@@ -1300,7 +1300,7 @@ struct PlayState {
/* 0x18788 */ void (*talkWithPlayer)(struct PlayState* play, Actor* actor);
/* 0x1878C */ void (*unk_1878C)(struct PlayState* play);
/* 0x18790 */ void (*unk_18790)(struct PlayState* play, s16 arg1, Actor* actor);
/* 0x18794 */ void* unk_18794; //! @TODO: Determine function prototype
/* 0x18794 */ s32 (*unk_18794)(struct PlayState* play, Player* player, s32 arg2, s32 arg3);
/* 0x18798 */ s32 (*setPlayerTalkAnim)(struct PlayState* play, void* talkAnim, s32 arg2);
/* 0x1879C */ s16 playerActorCsIds[10];
/* 0x187B0 */ MtxF viewProjectionMtxF;
@@ -1327,7 +1327,7 @@ struct PlayState {
/* 0x18876 */ s16 unk_18876;
/* 0x18878 */ s16 bgCoverAlpha;
/* 0x1887A */ u16 nextEntranceIndex;
/* 0x1887C */ s8 unk_1887C;
/* 0x1887C */ s8 unk_1887C; // shootingGalleryStatus?
/* 0x1887D */ s8 unk_1887D;
/* 0x1887E */ s8 unk_1887E;
/* 0x1887F */ u8 unk_1887F; // fadeTransition
+5
View File
@@ -80,6 +80,11 @@ typedef struct {
/* 0x3A */ s16 unk3A;
} ActorEnTest20C; // size = 0x3C
typedef struct {
/* 0x0 */ s16 unk_0; // frame?
/* 0x2 */ Vec3s unk_2; // pos?
} struct_80124618; // size = 0x8
typedef struct {
/* 0x00 */ s16 id;
/* 0x02 */ u8 type;
+4 -1
View File
@@ -261,7 +261,10 @@ typedef enum {
/* 0xA1 */ ITEM_GOLD_DUST_2,
/* 0xA2 */ ITEM_HYLIAN_LOACH_2,
/* 0xA3 */ ITEM_SEA_HORSE_CAUGHT,
/* 0xFD */ ITEM_UNK_FD = 0xFD,
/* 0xF0 */ ITEM_F0 = 0xF0,
/* 0xF1 */ ITEM_F1,
/* 0xF2 */ ITEM_F2,
/* 0xFD */ ITEM_FD = 0xFD,
/* 0xFF */ ITEM_NONE = 0xFF
} ItemID;
+278 -12
View File
@@ -24,6 +24,14 @@ typedef enum {
/* 0x07 */ PLAYER_BOOTS_MAX
} PlayerBoots;
typedef enum {
/* 0x00 */ PLAYER_STRENGTH_DEKU,
/* 0x01 */ PLAYER_STRENGTH_HUMAN,
/* 0x02 */ PLAYER_STRENGTH_ZORA,
/* 0x03 */ PLAYER_STRENGTH_GORON,
/* 0x04 */ PLAYER_STRENGTH_MAX
} PlayerStrength;
typedef enum {
/* 0x00 */ PLAYER_FORM_FIERCE_DEITY,
/* 0x01 */ PLAYER_FORM_GORON,
@@ -64,14 +72,14 @@ typedef enum {
typedef enum {
/* 0x00 */ PLAYER_AP_NONE,
/* 0x01 */ PLAYER_AP_UNK_1,
/* 0x02 */ PLAYER_AP_UNK_2,
/* 0x01 */ PLAYER_AP_LAST_USED,
/* 0x02 */ PLAYER_AP_FISHING_POLE,
/* 0x03 */ PLAYER_AP_SWORD_KOKIRI,
/* 0x04 */ PLAYER_AP_SWORD_RAZOR,
/* 0x05 */ PLAYER_AP_SWORD_GILDED,
/* 0x06 */ PLAYER_AP_SWORD_GREAT_FAIRY,
/* 0x07 */ PLAYER_AP_STICK,
/* 0x08 */ PLAYER_AP_UNK_8,
/* 0x08 */ PLAYER_AP_ZORA_FINS,
/* 0x09 */ PLAYER_AP_BOW,
/* 0x0A */ PLAYER_AP_BOW_FIRE,
/* 0x0B */ PLAYER_AP_BOW_ICE,
@@ -141,6 +149,44 @@ typedef enum {
/* 0xFD */ PLAYER_AP_MAX = 0xFD
} PlayerActionParam;
typedef enum {
/* 0 */ PLAYER_MWA_FORWARD_SLASH_1H, // Vertical one-handed slash
/* 1 */ PLAYER_MWA_FORWARD_SLASH_2H, // Vertical two-handed slash
/* 2 */ PLAYER_MWA_FORWARD_COMBO_1H, // Third vertical one-handed slash
/* 3 */ PLAYER_MWA_FORWARD_COMBO_2H, // Third vertical two-handed slash
/* 4 */ PLAYER_MWA_RIGHT_SLASH_1H, // Horizontal one-handed slash
/* 5 */ PLAYER_MWA_RIGHT_SLASH_2H, // Horizontal two-handed slash
/* 6 */ PLAYER_MWA_RIGHT_COMBO_1H, // Third horizontal one-handed slash
/* 7 */ PLAYER_MWA_RIGHT_COMBO_2H, // Third horizontal two-handed slash
/* 8 */ PLAYER_MWA_LEFT_SLASH_1H, // Targeted one-handed rightwalk slash
/* 9 */ PLAYER_MWA_LEFT_SLASH_2H, // Targeted two-handed rightwalk slash
/* 10 */ PLAYER_MWA_LEFT_COMBO_1H, // Third targeted one-handed rightwalk slash
/* 11 */ PLAYER_MWA_LEFT_COMBO_2H, // Third targeted two-handed rightwalk slash
/* 12 */ PLAYER_MWA_STAB_1H, // Crouch stab/targeted one-handed stab
/* 13 */ PLAYER_MWA_STAB_2H, // Targeted two-handed stab
/* 14 */ PLAYER_MWA_STAB_COMBO_1H, // Third targeted one-handed stab
/* 15 */ PLAYER_MWA_STAB_COMBO_2H, // Third targeted two-handed stab
/* 16 */ PLAYER_MWA_FLIPSLASH_START, // unused
/* 17 */ PLAYER_MWA_JUMPSLASH_START, // Start of jumpslash
/* 18 */ PLAYER_MWA_ZORA_JUMPKICK_START, // Start of Zora jump attack
/* 19 */ PLAYER_MWA_FLIPSLASH_FINISH, // unused
/* 20 */ PLAYER_MWA_JUMPSLASH_FINISH, // End of jumpslash
/* 21 */ PLAYER_MWA_ZORA_JUMPKICK_FINISH, // End of Zora jump attack
/* 22 */ PLAYER_MWA_BACKSLASH_RIGHT, // unused
/* 23 */ PLAYER_MWA_BACKSLASH_LEFT, // unused
/* 24 */ PLAYER_MWA_GORON_PUNCH_LEFT, // Goron punch
/* 25 */ PLAYER_MWA_GORON_PUNCH_RIGHT, // Second Goron punch
/* 26 */ PLAYER_MWA_GORON_PUNCH_BUTT, // Goron butt punch
/* 27 */ PLAYER_MWA_ZORA_PUNCH_LEFT, // Zora punch
/* 28 */ PLAYER_MWA_ZORA_PUNCH_COMBO, // Second Zora punch
/* 29 */ PLAYER_MWA_ZORA_PUNCH_KICK, // Zora kick
/* 30 */ PLAYER_MWA_SPIN_ATTACK_1H, // Half-charged one-handed spin
/* 31 */ PLAYER_MWA_SPIN_ATTACK_2H, // Half-charged two-handed spin
/* 32 */ PLAYER_MWA_BIG_SPIN_1H, // Fully-charged one-handed spin
/* 33 */ PLAYER_MWA_BIG_SPIN_2H, // Fully-charged two-handed spin
/* 34 */ PLAYER_MWA_MAX
} PlayerMeleeWeaponAnimation;
typedef struct {
/* 0x00 */ f32 unk_00;
/* 0x04 */ f32 unk_04;
@@ -178,7 +224,6 @@ typedef struct {
/* 0xD4 */ LinkAnimationHeader* unk_D4[2];
} PlayerAgeProperties; // size = 0xDC
typedef struct {
/* 0x00 */ s32 active;
/* 0x04 */ Vec3f tip;
@@ -188,6 +233,226 @@ typedef struct {
typedef void (*PlayerFuncD58)(struct PlayState*, struct Player*);
typedef struct {
/* 0x00 */ u8 unk_00;
/* 0x01 */ u8 alpha;
/* 0x02 */ char unk_02[2]; // probably alignment padding
/* 0x04 */ MtxF mf;
} struct_80122D44_arg1_unk_04; // size = 0x44
typedef struct {
/* 0x00 */ u8 unk_00;
/* 0x01 */ s8 unk_01;
/* 0x02 */ char unk_02[2]; // probably alignment padding
/* 0x04 */ struct_80122D44_arg1_unk_04 unk_04[4];
} struct_80122D44_arg1; // size >= 0x114
typedef struct struct_80122744_arg1 {
/* 0x00 */ s8 unk_00;
/* 0x01 */ s8 unk_01;
/* 0x02 */ s8 unk_02;
/* 0x03 */ s8 unk_03;
/* 0x04 */ Vec3s* unk_04;
} struct_80122744_arg1; // size = 0x08
//
#define PLAYER_STATE1_1 (1 << 0)
//
#define PLAYER_STATE1_2 (1 << 1)
//
#define PLAYER_STATE1_4 (1 << 2)
//
#define PLAYER_STATE1_8 (1 << 3)
//
#define PLAYER_STATE1_10 (1 << 4)
//
#define PLAYER_STATE1_20 (1 << 5)
//
#define PLAYER_STATE1_40 (1 << 6)
//
#define PLAYER_STATE1_80 (1 << 7)
//
#define PLAYER_STATE1_100 (1 << 8)
//
#define PLAYER_STATE1_200 (1 << 9)
//
#define PLAYER_STATE1_400 (1 << 10)
//
#define PLAYER_STATE1_800 (1 << 11)
//
#define PLAYER_STATE1_1000 (1 << 12)
//
#define PLAYER_STATE1_2000 (1 << 13)
//
#define PLAYER_STATE1_4000 (1 << 14)
//
#define PLAYER_STATE1_8000 (1 << 15)
//
#define PLAYER_STATE1_10000 (1 << 16)
//
#define PLAYER_STATE1_20000 (1 << 17)
//
#define PLAYER_STATE1_40000 (1 << 18)
//
#define PLAYER_STATE1_80000 (1 << 19)
//
#define PLAYER_STATE1_100000 (1 << 20)
//
#define PLAYER_STATE1_200000 (1 << 21)
//
#define PLAYER_STATE1_400000 (1 << 22)
//
#define PLAYER_STATE1_800000 (1 << 23)
//
#define PLAYER_STATE1_1000000 (1 << 24)
//
#define PLAYER_STATE1_2000000 (1 << 25)
//
#define PLAYER_STATE1_4000000 (1 << 26)
// Swimming?
#define PLAYER_STATE1_8000000 (1 << 27)
//
#define PLAYER_STATE1_10000000 (1 << 28)
//
#define PLAYER_STATE1_20000000 (1 << 29)
//
#define PLAYER_STATE1_40000000 (1 << 30)
//
#define PLAYER_STATE1_80000000 (1 << 31)
//
#define PLAYER_STATE2_1 (1 << 0)
//
#define PLAYER_STATE2_2 (1 << 1)
//
#define PLAYER_STATE2_4 (1 << 2)
//
#define PLAYER_STATE2_8 (1 << 3)
//
#define PLAYER_STATE2_10 (1 << 4)
//
#define PLAYER_STATE2_20 (1 << 5)
//
#define PLAYER_STATE2_40 (1 << 6)
//
#define PLAYER_STATE2_80 (1 << 7)
//
#define PLAYER_STATE2_100 (1 << 8)
//
#define PLAYER_STATE2_200 (1 << 9)
//
#define PLAYER_STATE2_400 (1 << 10)
//
#define PLAYER_STATE2_800 (1 << 11)
//
#define PLAYER_STATE2_1000 (1 << 12)
//
#define PLAYER_STATE2_2000 (1 << 13)
//
#define PLAYER_STATE2_4000 (1 << 14)
//
#define PLAYER_STATE2_8000 (1 << 15)
//
#define PLAYER_STATE2_10000 (1 << 16)
//
#define PLAYER_STATE2_20000 (1 << 17)
//
#define PLAYER_STATE2_40000 (1 << 18)
//
#define PLAYER_STATE2_80000 (1 << 19)
//
#define PLAYER_STATE2_100000 (1 << 20)
//
#define PLAYER_STATE2_200000 (1 << 21)
//
#define PLAYER_STATE2_400000 (1 << 22)
//
#define PLAYER_STATE2_800000 (1 << 23)
//
#define PLAYER_STATE2_1000000 (1 << 24)
//
#define PLAYER_STATE2_2000000 (1 << 25)
//
#define PLAYER_STATE2_4000000 (1 << 26)
//
#define PLAYER_STATE2_8000000 (1 << 27)
//
#define PLAYER_STATE2_10000000 (1 << 28)
//
#define PLAYER_STATE2_20000000 (1 << 29)
//
#define PLAYER_STATE2_40000000 (1 << 30)
//
#define PLAYER_STATE2_80000000 (1 << 31)
//
#define PLAYER_STATE3_1 (1 << 0)
//
#define PLAYER_STATE3_2 (1 << 1)
//
#define PLAYER_STATE3_4 (1 << 2)
//
#define PLAYER_STATE3_8 (1 << 3)
//
#define PLAYER_STATE3_10 (1 << 4)
//
#define PLAYER_STATE3_20 (1 << 5)
//
#define PLAYER_STATE3_40 (1 << 6)
//
#define PLAYER_STATE3_80 (1 << 7)
//
#define PLAYER_STATE3_100 (1 << 8)
//
#define PLAYER_STATE3_200 (1 << 9)
//
#define PLAYER_STATE3_400 (1 << 10)
//
#define PLAYER_STATE3_800 (1 << 11)
//
#define PLAYER_STATE3_1000 (1 << 12)
//
#define PLAYER_STATE3_2000 (1 << 13)
//
#define PLAYER_STATE3_4000 (1 << 14)
//
#define PLAYER_STATE3_8000 (1 << 15)
//
#define PLAYER_STATE3_10000 (1 << 16)
//
#define PLAYER_STATE3_20000 (1 << 17)
//
#define PLAYER_STATE3_40000 (1 << 18)
//
#define PLAYER_STATE3_80000 (1 << 19)
//
#define PLAYER_STATE3_100000 (1 << 20)
//
#define PLAYER_STATE3_200000 (1 << 21)
//
#define PLAYER_STATE3_400000 (1 << 22)
//
#define PLAYER_STATE3_800000 (1 << 23)
//
#define PLAYER_STATE3_1000000 (1 << 24)
//
#define PLAYER_STATE3_2000000 (1 << 25)
//
#define PLAYER_STATE3_4000000 (1 << 26)
//
#define PLAYER_STATE3_8000000 (1 << 27)
//
#define PLAYER_STATE3_10000000 (1 << 28)
// breman mask march?
#define PLAYER_STATE3_20000000 (1 << 29)
//
#define PLAYER_STATE3_40000000 (1 << 30)
//
#define PLAYER_STATE3_80000000 (1 << 31)
typedef struct Player {
/* 0x000 */ Actor actor;
/* 0x144 */ s8 currentShield;
@@ -238,7 +503,7 @@ typedef struct Player {
/* 0x1DC */ OSMesgQueue giObjectLoadQueue;
/* 0x1F4 */ OSMesg giObjectLoadMsg;
/* 0x1F8 */ void* giObjectSegment;
/* 0x1FC */ u8 maskObjectLoading;
/* 0x1FC */ u8 maskObjectLoadState;
/* 0x1FD */ s8 maskId;
/* 0x200 */ DmaRequest maskDmaRequest;
/* 0x220 */ OSMesgQueue maskObjectLoadQueue;
@@ -266,7 +531,7 @@ typedef struct Player {
/* 0x38C */ s8 mountSide;
/* 0x390 */ Actor* rideActor;
/* 0x394 */ u8 csMode;
/* 0x395 */ u8 unk_395;
/* 0x395 */ u8 unk_395; // prevCsMode?
/* 0x396 */ u8 unk_396;
/* 0x397 */ u8 unk_397;
/* 0x398 */ Actor* unk_398;
@@ -282,15 +547,16 @@ typedef struct Player {
/* 0x3CC */ s16 unk_3CC;
/* 0x3CE */ s8 unk_3CE;
/* 0x3CF */ u8 unk_3CF;
/* 0x3D0 */ char unk_3D0[0x148];
/* 0x3D0 */ struct_80122D44_arg1 unk_3D0;
/* 0x404 */ UNK_TYPE1 unk_404[0x34];
/* 0x518 */ ColliderCylinder cylinder;
/* 0x564 */ ColliderQuad swordQuads[2];
/* 0x564 */ ColliderQuad meleeWeaponQuads[2];
/* 0x664 */ ColliderQuad shieldQuad;
/* 0x6E4 */ ColliderCylinder shieldCylinder;
/* 0x730 */ Actor* unk_730;
/* 0x734 */ char unk_734[4];
/* 0x738 */ s32 unk_738;
/* 0x73C */ s32 blureEffectIndex[3];
/* 0x73C */ s32 meleeWeaponEffectIndex[3];
/* 0x748 */ char unk_748[0x320];
/* 0xA68 */ PlayerAgeProperties* ageProperties; // repurposed as "transformation properties"?
/* 0xA6C */ u32 stateFlags1;
@@ -328,8 +594,8 @@ typedef struct Player {
/* 0xAD4 */ s16 currentYaw;
/* 0xAD6 */ s16 targetYaw;
/* 0xAD8 */ u16 unk_AD8;
/* 0xADA */ s8 swordAnimation;
/* 0xADB */ s8 swordState;
/* 0xADA */ s8 meleeWeaponAnimation;
/* 0xADB */ s8 meleeWeaponState;
/* 0xADC */ s8 unk_ADC;
/* 0xADD */ s8 unk_ADD;
/* 0xADE */ u8 unk_ADE;
@@ -389,7 +655,7 @@ typedef struct Player {
/* 0xB92 */ s16 unk_B92;
/* 0xB94 */ s16 unk_B94;
/* 0xB96 */ s16 unk_B96;
/* 0xB98 */ WeaponInfo swordInfo[3];
/* 0xB98 */ WeaponInfo meleeWeaponInfo[3];
/* 0xBEC */ Vec3f bodyPartsPos[18];
/* 0xCC4 */ MtxF mf_CC4;
/* 0xD04 */ MtxF shieldMf;
+4 -4
View File
@@ -11,10 +11,10 @@ struct FileChooseContext;
// TODO: properly name DOWN, RETURN and TOP
typedef enum RespawnMode {
/* 0 */ RESTART_MODE_DOWN, // "RESTART_MODE_DOWN"
/* 1 */ RESTART_MODE_RETURN, // "RESTART_MODE_RETURN"
/* 2 */ RESTART_MODE_TOP, // "RESTART_MODE_TOP"
/* 3 */ RESPAWN_MODE_UNK_3, // Maybe related to grottos
/* 0 */ RESPAWN_MODE_DOWN, // "RESTART_MODE_DOWN"
/* 1 */ RESPAWN_MODE_RETURN, // "RESTART_MODE_RETURN"
/* 2 */ RESPAWN_MODE_TOP, // "RESTART_MODE_TOP"
/* 3 */ RESPAWN_MODE_UNK_3, // Related to grottos
/* 4 */ RESPAWN_MODE_GORON, // "RESTART_MODE_GORON"
/* 5 */ RESPAWN_MODE_ZORA, // "RESTART_MODE_ZORA"
/* 6 */ RESPAWN_MODE_DEKU, // "RESTART_MODE_NUTS"
+1 -1
View File
@@ -260,7 +260,7 @@ typedef union {
typedef struct {
/* 0x00 */ s8 num;
/* 0x01 */ u8 unk1;
/* 0x02 */ u8 unk2;
/* 0x02 */ u8 unk2; // 3: Room is hot
/* 0x03 */ u8 unk3;
/* 0x04 */ s8 echo;
/* 0x05 */ u8 unk5;