From 7bb37c6ace16f1006fbeeafc42f01967debaf0c0 Mon Sep 17 00:00:00 2001 From: Maciek Baron <1668712+MaciekBaron@users.noreply.github.com> Date: Fri, 11 Jul 2025 23:04:02 +0100 Subject: Add kartPropulsionStrength and waterInteractionFlags (#425) * Add kartPropulsionStrength and waterInteractionFlags * Add reset_player_speed_and_velocity * Fix merge * Reorder and cleanup * Document hopVerticalOffset and hopFrameCounter * Fix missed variabled * Further things * Use constant --------- Co-authored-by: MegaMech --- include/common_structs.h | 8 ++++---- include/defines.h | 12 ++++++++++++ 2 files changed, 16 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/common_structs.h b/include/common_structs.h index 058bb3770..4691e3310 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -289,12 +289,12 @@ typedef struct { /* 0x0070 */ f32 boundingBoxSize; /* 0x0074 */ f32 unk_074; /* 0x0078 */ s16 unk_078; - /* 0x007A */ s16 unk_07A; + /* 0x007A */ s16 hopFrameCounter; /* 0x007C */ s32 unk_07C; /* 0x0080 */ f32 boostPower; /* 0x0084 */ f32 unk_084; /* 0x0088 */ f32 unk_088; - /* 0x008C */ f32 unk_08C; + /* 0x008C */ f32 kartPropulsionStrength; /* 0x0090 */ f32 unk_090; /* 0x0094 */ f32 speed; /* 0x0098 */ f32 unk_098; @@ -320,7 +320,7 @@ typedef struct { /* 0x00CC */ Vec4s unk_0CC; /* 0x00D4 */ Vec4s unk_0D4; /* 0x00DC */ s16 boostTimer; - /* 0x00DE */ u16 unk_0DE; + /* 0x00DE */ u16 waterInteractionFlags; /* 0x00E0 */ s16 unk_0E0; /* 0x00E2 */ s16 unk_0E2; /* 0x00E4 */ f32 unk_0E4; @@ -333,7 +333,7 @@ typedef struct { /* 0x00FC */ f32 kartFriction; /* 0x0100 */ f32 kartGravity; /* 0x0104 */ f32 unk_104; - /* 0x0108 */ f32 unk_108; + /* 0x0108 */ f32 hopVerticalOffset; /* 0x010C */ s16 unk_10C; /* 0x010E */ char unk_10E[0x2]; /* 0x0110 */ Collision collision; diff --git a/include/defines.h b/include/defines.h index 594d43f46..b33633404 100644 --- a/include/defines.h +++ b/include/defines.h @@ -430,6 +430,18 @@ enum PLACE { FIRST_PLACE, SECOND_PLACE, THIRD_PLACE, FOURTH_PLACE }; #define COLOR_LAVA GPACK_RGB888(0x34, 0x00, 0x00) #define COLOR_BLACK GPACK_RGB888(0, 0, 0) + +/** + * @brief player water interaction flags (player->unk_0DE) + * + */ + +#define WATER_NO_INTERACTION 0x0000 // No water interaction +#define WATER_IS_FULLY_SUBMERGED 0x0001 // Kart is completely underwater +#define WATER_IS_PARTIALLY_SUBMERGED 0x0002 // Kart is partially in the water +#define WATER_IN_DEEP_LIQUID_STATE 0x0004 // Persistent flag for being in a deep liquid state? +#define WATER_JUST_ENTERED_DEEP_LIQUID 0x0008 // Momentary flag for the instant of entering deep liquid + /** * * Collision mesh flags -- cgit v1.2.3