diff options
| author | engineer124 <47598039+engineer124@users.noreply.github.com> | 2024-11-18 11:26:59 +1100 |
|---|---|---|
| committer | Eblo <7004497+Eblo@users.noreply.github.com> | 2025-09-16 13:45:06 -0400 |
| commit | 14b8cd53dc651c6446733011d655aab88746bac4 (patch) | |
| tree | f36e7c37c8772acbbad488fba063d2fb85105ea9 /mm/include | |
| parent | 7850d33af5f63d23e33276b38ee60403546a7339 (diff) | |
Player Docs: Talking (#1738)
* player talk
* cleanup
* fix comment
Diffstat (limited to 'mm/include')
| -rw-r--r-- | mm/include/z64camera.h | 43 | ||||
| -rw-r--r-- | mm/include/z64player.h | 10 |
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; |
