Merge remote-tracking branch 'decomp/main' into decomp_merge

This commit is contained in:
Yanis002
2025-06-30 23:34:06 +02:00
282 changed files with 2360 additions and 1792 deletions

View File

@@ -342,7 +342,7 @@ typedef enum CameraDataType {
/* 0x13 */ CAM_DATA_AT_OFFSET_X,
/* 0x14 */ CAM_DATA_AT_OFFSET_Y,
/* 0x15 */ CAM_DATA_AT_OFFSET_Z,
/* 0x16 */ CAM_DATA_UNK_22,
/* 0x16 */ CAM_DATA_INIT_TIMER,
/* 0x17 */ CAM_DATA_UNK_23,
/* 0x18 */ CAM_DATA_FOV_SCALE,
/* 0x19 */ CAM_DATA_YAW_SCALE,
@@ -854,15 +854,15 @@ typedef struct KeepOn3 {
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
typedef struct KeepOn4ReadOnlyData {
/* 0x00 */ f32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x00 */ f32 yOffset;
/* 0x04 */ f32 eyeDist;
/* 0x08 */ f32 pitchTarget; // degrees
/* 0x0C */ f32 yawTarget; // degrees
/* 0x10 */ f32 atOffsetPlayerForwards; // distance to offset `at` by, in the player's forwards direction
/* 0x14 */ f32 unk_14; // scale for stepping yaw and pitch of "at to eye" to target
/* 0x18 */ f32 fovTarget;
/* 0x1C */ s16 interfaceField;
/* 0x1E */ s16 unk_1E;
/* 0x1E */ s16 initTimer;
} KeepOn4ReadOnlyData; // size = 0x20
typedef enum CameraItemType {
@@ -882,14 +882,14 @@ typedef enum CameraItemType {
} CameraItemType;
typedef struct KeepOn4ReadWriteData {
/* 0x00 */ f32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ s16 unk_0C;
/* 0x0E */ s16 unk_0E;
/* 0x10 */ s16 unk_10;
/* 0x12 */ s16 unk_12;
/* 0x14 */ s16 unk_14;
/* 0x00 */ f32 atToEyeTargetStepYaw; // binang
/* 0x04 */ f32 atToEyeTargetStepPitch; // binang
/* 0x08 */ f32 unk_08; // set but unused
/* 0x0C */ s16 atToEyeTargetYaw;
/* 0x0E */ s16 atToEyeTargetPitch;
/* 0x10 */ s16 animTimer;
/* 0x12 */ s16 unk_12; // set but unused
/* 0x14 */ s16 itemType;
} KeepOn4ReadWriteData; // size = 0x18
typedef struct KeepOn4 {
@@ -906,16 +906,16 @@ typedef struct KeepOn4 {
#define KEEPON4_FLAG_6 (1 << 6)
#define KEEPON4_FLAG_7 (1 << 7)
#define CAM_FUNCDATA_KEEP4(yOffset, eyeDist, pitchTarget, yawTarget, atOffsetZ, fov, interfaceField, yawUpdateRateTarget, unk_22) \
#define CAM_FUNCDATA_KEEP4(yOffset, eyeDist, pitchTarget, yawTarget, atOffsetPlayerForwards, fov, interfaceField, unk_14, initTimer) \
{ yOffset, CAM_DATA_Y_OFFSET }, \
{ eyeDist, CAM_DATA_EYE_DIST }, \
{ pitchTarget, CAM_DATA_PITCH_TARGET }, \
{ yawTarget, CAM_DATA_YAW_TARGET }, \
{ atOffsetZ, CAM_DATA_AT_OFFSET_Z }, \
{ atOffsetPlayerForwards, CAM_DATA_AT_OFFSET_Z }, \
{ fov, CAM_DATA_FOV }, \
{ interfaceField, CAM_DATA_INTERFACE_FIELD }, \
{ yawUpdateRateTarget, CAM_DATA_YAW_UPDATE_RATE_TARGET }, \
{ unk_22, CAM_DATA_UNK_22 }
{ unk_14, CAM_DATA_YAW_UPDATE_RATE_TARGET }, \
{ initTimer, CAM_DATA_INIT_TIMER }
typedef struct KeepOn0ReadOnlyData {
/* 0x00 */ f32 fovScale;
@@ -1471,7 +1471,7 @@ typedef struct Special5 {
{ yOffset, CAM_DATA_Y_OFFSET }, \
{ eyeDist, CAM_DATA_EYE_DIST }, \
{ eyeDistNext, CAM_DATA_EYE_DIST_NEXT }, \
{ unk_22, CAM_DATA_UNK_22 }, \
{ unk_22, CAM_DATA_INIT_TIMER }, \
{ pitchTarget, CAM_DATA_PITCH_TARGET }, \
{ fov, CAM_DATA_FOV }, \
{ atLerpStepScale, CAM_DATA_AT_LERP_STEP_SCALE }, \
@@ -1485,7 +1485,7 @@ typedef struct Special5 {
{ pitchTarget, CAM_DATA_PITCH_TARGET }, \
{ fov, CAM_DATA_FOV }, \
{ atLerpStepScale, CAM_DATA_AT_LERP_STEP_SCALE }, \
{ unk_22, CAM_DATA_UNK_22 }, \
{ unk_22, CAM_DATA_INIT_TIMER }, \
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
typedef struct Special7ReadWriteData {

View File

@@ -80,15 +80,26 @@ typedef struct ColliderInitToActor {
/* 0x07 */ u8 shape;
} ColliderInitToActor; // size = 0x08
typedef enum HitSpecialEffect {
HIT_SPECIAL_EFFECT_NONE,
HIT_SPECIAL_EFFECT_FIRE,
HIT_SPECIAL_EFFECT_ICE,
HIT_SPECIAL_EFFECT_ELECTRIC,
HIT_SPECIAL_EFFECT_KNOCKBACK,
HIT_SPECIAL_EFFECT_7 = 7, // Same effect as `HIT_SPECIAL_EFFECT_NONE`
HIT_SPECIAL_EFFECT_8, // Same effect as `HIT_SPECIAL_EFFECT_NONE`
HIT_SPECIAL_EFFECT_9 // Same effect as `HIT_SPECIAL_EFFECT_NONE`
} HitSpecialEffect;
typedef struct ColliderElementDamageInfoAT {
/* 0x00 */ u32 dmgFlags; // Damage types dealt by this collider element as AT.
/* 0x04 */ u8 effect; // Damage Effect (Knockback, Fire, etc.)
/* 0x04 */ u8 hitSpecialEffect; // The hit special effect applied to any actor attacked by this AT collider.
/* 0x05 */ u8 damage; // Damage
} ColliderElementDamageInfoAT; // size = 0x08
typedef enum HitBacklash {
HIT_BACKLASH_0,
HIT_BACKLASH_1 // Shock?
HIT_BACKLASH_NONE,
HIT_BACKLASH_ELECTRIC
} HitBacklash;
typedef struct ColliderElementDamageInfoAC {
@@ -471,7 +482,7 @@ typedef struct CollisionCheckInfo {
/* 0x18 */ u8 damage; // Amount to decrement health by
/* 0x19 */ u8 damageReaction; // Stores what reaction should occur after being hit
/* 0x1A */ u8 atHitBacklash; // Stores the hit backlash type received from attacking an AC collider
/* 0x1B */ u8 acHitEffect; // Stores what effect should occur when AC is touched by an AT
/* 0x1B */ u8 acHitSpecialEffect; // Stores the hit special effect received from being attacked by an AT collider
} CollisionCheckInfo; // size = 0x1C
DamageTable* DamageTable_Get(s32 index);

View File

@@ -175,7 +175,7 @@ typedef struct PauseContext {
/* 0x0148 */ Vtx* equipPageVtx;
/* 0x014C */ Vtx* mapPageVtx;
/* 0x0150 */ Vtx* questPageVtx;
/* 0x0154 */ Vtx* infoPanelVtx;
/* 0x0154 */ Vtx* uiOverlayVtx;
/* 0x0158 */ Vtx* itemVtx;
/* 0x015C */ Vtx* equipVtx;
/* 0x0160 */ char unk_160[0x04];

View File

@@ -648,16 +648,16 @@ typedef enum PlayerKnockbackType {
/* 0 */ PLAYER_KNOCKBACK_NONE, // No knockback
/* 1 */ PLAYER_KNOCKBACK_SMALL, // A small hop, remains standing up
/* 2 */ PLAYER_KNOCKBACK_LARGE, // Sent flying in the air and lands laying down on the floor
/* 3 */ PLAYER_KNOCKBACK_LARGE_SHOCK // Same as`PLAYER_KNOCKBACK_LARGE` with a shock effect
/* 3 */ PLAYER_KNOCKBACK_LARGE_ELECTRIFIED // Same as`PLAYER_KNOCKBACK_LARGE` with a shock effect
} PlayerKnockbackType;
typedef enum PlayerDamageResponseType {
typedef enum PlayerHitResponseType {
/* 0 */ PLAYER_HIT_RESPONSE_NONE,
/* 1 */ PLAYER_HIT_RESPONSE_KNOCKBACK_LARGE,
/* 2 */ PLAYER_HIT_RESPONSE_KNOCKBACK_SMALL,
/* 3 */ PLAYER_HIT_RESPONSE_ICE_TRAP,
/* 4 */ PLAYER_HIT_RESPONSE_ELECTRIC_SHOCK
} PlayerDamageResponseType;
/* 3 */ PLAYER_HIT_RESPONSE_FROZEN,
/* 4 */ PLAYER_HIT_RESPONSE_ELECTRIFIED
} PlayerHitResponseType;
typedef struct PlayerAgeProperties {
/* 0x00 */ f32 ceilingCheckHeight;

View File

@@ -109,12 +109,12 @@ struct PlayState;
#define R_TEXTBOX_WIDTH YREG(22)
#define R_TEXTBOX_HEIGHT YREG(23)
#if OOT_NTSC
#define R_KALEIDO_UNK1(i) YREG(48 + (i))
#define R_KALEIDO_UNK2(i) YREG(50 + (i))
#define R_KALEIDO_UNK3(i) YREG(52 + (i))
#define R_KALEIDO_UNK4(i) YREG(54 + (i))
#define R_KALEIDO_UNK5(i) YREG(56 + (i))
#define R_KALEIDO_UNK6(i) YREG(58 + (i))
#define R_PAUSE_INFO_PANEL_ICON_C_ITEM_X(i) YREG(48 + (i))
#define R_PAUSE_INFO_PANEL_TEXT_X(i) YREG(50 + (i))
#define R_PAUSE_INFO_PANEL_ICON_PLAY_SONG_X(i) YREG(52 + (i))
#define R_PAUSE_INFO_PANEL_TEXT_C_ITEM_X(i) YREG(54 + (i))
#define R_PAUSE_INFO_PANEL_ICON_SAVE_PROMPT_X(i) YREG(56 + (i))
#define R_PAUSE_INFO_PANEL_ICON_EQUIP_X(i) YREG(58 + (i))
#endif
#define R_TEXTBOX_ICON_XPOS YREG(71)
#define R_TEXTBOX_ICON_YPOS YREG(72)
@@ -200,6 +200,9 @@ struct PlayState;
#define R_B_LABEL_Y(i) WREG(12 + (i))
#define R_A_LABEL_Z(i) WREG(14 + (i))
#endif
#define R_PAUSE_BUTTON_LEFT_X WREG(16)
#define R_PAUSE_BUTTON_RIGHT_X WREG(17)
#define R_PAUSE_BUTTON_LEFT_RIGHT_Y WREG(18)
#define R_OW_MINIMAP_X WREG(29)
#define R_OW_MINIMAP_Y WREG(30)
#define R_MINIMAP_DISABLED WREG(31)
@@ -208,12 +211,12 @@ struct PlayState;
#define R_B_LABEL_X(i) WREG(40 + (i))
#define R_B_LABEL_Y(i) WREG(43 + (i))
#define R_A_LABEL_Z(i) WREG(46 + (i))
#define R_KALEIDO_UNK1(i) WREG(49 + (i))
#define R_KALEIDO_UNK2(i) WREG(52 + (i))
#define R_KALEIDO_UNK3(i) WREG(55 + (i))
#define R_KALEIDO_UNK4(i) WREG(58 + (i))
#define R_KALEIDO_UNK5(i) WREG(61 + (i))
#define R_KALEIDO_UNK6(i) WREG(64 + (i))
#define R_PAUSE_INFO_PANEL_ICON_C_ITEM_X(i) WREG(49 + (i))
#define R_PAUSE_INFO_PANEL_TEXT_X(i) WREG(52 + (i))
#define R_PAUSE_INFO_PANEL_ICON_PLAY_SONG_X(i) WREG(55 + (i))
#define R_PAUSE_INFO_PANEL_TEXT_C_ITEM_X(i) WREG(58 + (i))
#define R_PAUSE_INFO_PANEL_ICON_SAVE_PROMPT_X(i) WREG(61 + (i))
#define R_PAUSE_INFO_PANEL_ICON_EQUIP_X(i) WREG(64 + (i))
#endif
#define R_DGN_MINIMAP_X WREG(68)
#define R_DGN_MINIMAP_Y WREG(69)