summaryrefslogtreecommitdiff
path: root/mm/include
diff options
context:
space:
mode:
authorengineer124 <47598039+engineer124@users.noreply.github.com>2024-11-18 11:26:59 +1100
committerEblo <7004497+Eblo@users.noreply.github.com>2025-09-16 13:45:06 -0400
commit14b8cd53dc651c6446733011d655aab88746bac4 (patch)
treef36e7c37c8772acbbad488fba063d2fb85105ea9 /mm/include
parent7850d33af5f63d23e33276b38ee60403546a7339 (diff)
Player Docs: Talking (#1738)
* player talk * cleanup * fix comment
Diffstat (limited to 'mm/include')
-rw-r--r--mm/include/z64camera.h43
-rw-r--r--mm/include/z64player.h10
2 files changed, 48 insertions, 5 deletions
diff --git a/mm/include/z64camera.h b/mm/include/z64camera.h
index cd5a4c44f..6f0c4aa99 100644
--- a/mm/include/z64camera.h
+++ b/mm/include/z64camera.h
@@ -1612,4 +1612,47 @@ typedef struct Camera {
/* 0x16C */ Vec3f meshActorPos;
} Camera; // size = 0x178
+Camera* Camera_Create(struct View* view, struct CollisionContext* colCtx, struct PlayState* play);
+void Camera_Destroy(Camera* camera);
+void Camera_Init(Camera* camera, struct View* view, struct CollisionContext* colCtx, struct PlayState* play);
+void func_800DDFE0(Camera* camera);
+void Camera_InitFocalActorSettings(Camera* camera, struct Actor* focalActor);
+s32 Camera_ChangeStatus(Camera* camera, s16 status);
+s32 Camera_UpdateWater(Camera* camera);
+void Camera_EarthquakeDay3(Camera* camera);
+s32 Camera_UpdateHotRoom(Camera* camera);
+s32 Camera_SetSwordDistortion(Camera* camera);
+s32 Camera_RequestGiantsMaskSetting(Camera* camera);
+Vec3s Camera_Update(Camera* camera);
+s32 func_800DF498(Camera* camera);
+s32 Camera_ChangeModeFlags(Camera* camera, s16 mode, u8 forceChange);
+s32 Camera_ChangeMode(Camera* camera, s16 mode);
+s32 Camera_CheckValidMode(Camera* camera, s16 mode);
+s16 Camera_ChangeSettingFlags(Camera* camera, s16 setting, s16 flags);
+s32 Camera_ChangeSetting(Camera* camera, s16 setting);
+s32 Camera_ChangeActorCsCamIndex(Camera* camera, s32 bgCamIndex);
+Vec3s Camera_GetInputDir(Camera* camera);
+s16 Camera_GetInputDirPitch(Camera* camera);
+s16 Camera_GetInputDirYaw(Camera* camera);
+Vec3s Camera_GetCamDir(Camera* camera);
+s16 Camera_GetCamDirPitch(Camera* camera);
+s16 Camera_GetCamDirYaw(Camera* camera);
+s32 Camera_AddQuake(Camera* camera, s32 arg1, s16 y, s32 countdown);
+s32 Camera_SetViewParam(Camera* camera, s32 viewFlag, void* param);
+s32 Camera_UnsetViewFlag(Camera* camera, s16 viewFlag);
+s32 Camera_OverwriteStateFlags(Camera* camera, s16 stateFlags);
+s16 Camera_SetStateFlag(Camera* camera, s16 flags);
+s16 Camera_UnsetStateFlag(Camera* camera, s16 flags);
+s32 Camera_ChangeDoorCam(Camera* camera, struct Actor* doorActor, s16 bgCamIndex, f32 arg3, s16 timer1, s16 timer2, s16 timer3);
+s32 Camera_Copy(Camera* dstCam, Camera* srcCam);
+s32 Camera_IsDbgCamEnabled(void);
+Vec3f Camera_GetQuakeOffset(Camera* camera);
+void Camera_SetCameraData(Camera* camera, s16 setDataFlags, void* data0, void* data1, s16 data2, s16 data3);
+s32 Camera_GetNegOne(void);
+s16 Camera_SetFinishedFlag(Camera* camera);
+void Camera_SetFocalActor(Camera* camera, struct Actor* actor);
+void Camera_SetTargetActor(Camera* camera, struct Actor* actor);
+f32 Camera_GetWaterYPos(Camera* camera);
+void func_800E0348(Camera* camera);
+
#endif
diff --git a/mm/include/z64player.h b/mm/include/z64player.h
index db4ef51de..52f08ce21 100644
--- a/mm/include/z64player.h
+++ b/mm/include/z64player.h
@@ -883,8 +883,8 @@ typedef enum PlayerCueId {
#define PLAYER_STATE1_10 (1 << 4)
//
#define PLAYER_STATE1_20 (1 << 5)
-//
-#define PLAYER_STATE1_40 (1 << 6)
+// Currently talking to an actor. This includes item exchanges.
+#define PLAYER_STATE1_TALKING (1 << 6)
// Player has died. Note that this gets set when the death cutscene has started, after landing from the air.
// This also gets set when either deku/zora forms touches lava floor, or goron form enters water and the scene resets.
#define PLAYER_STATE1_DEAD (1 << 7)
@@ -940,8 +940,8 @@ typedef enum PlayerCueId {
//
#define PLAYER_STATE2_1 (1 << 0)
-//
-#define PLAYER_STATE2_2 (1 << 1)
+// Can accept a talk offer. "Speak" or "Check" is shown on the A button.
+#define PLAYER_STATE2_CAN_ACCEPT_TALK_OFFER (1 << 1)
//
#define PLAYER_STATE2_4 (1 << 2)
//
@@ -1290,7 +1290,7 @@ typedef struct Player {
/* 0xB58 */ f32 distToInteractWall; // xyz distance to the interact wall
/* 0xB5C */ u8 ledgeClimbType; // see PlayerLedgeClimbType enum
/* 0xB5D */ u8 ledgeClimbDelayTimer;
- /* 0xB5E */ u8 unk_B5E;
+ /* 0xB5E */ u8 textboxBtnCooldownTimer; // Prevents usage of A/B/C-up when counting down
/* 0xB5F */ u8 unk_B5F;
/* 0xB60 */ u16 blastMaskTimer;
/* 0xB62 */ s16 unk_B62;