diff options
| author | coco875 <59367621+coco875@users.noreply.github.com> | 2024-01-21 05:22:35 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-20 21:22:35 -0700 |
| commit | 639fec14583decbebba6bc069157884bda17f054 (patch) | |
| tree | b23be0b57cd6813d857cd132bfcacf18480a3b35 /include | |
| parent | 1b9a6f4e24d52cc7a8d51181af8f02db8d28589a (diff) | |
place surface type const and unassemble flag in vtx and document effects (#553)
* place surface type const and unassemble flag in vtx
Diffstat (limited to 'include')
| -rw-r--r-- | include/common_structs.h | 48 | ||||
| -rw-r--r-- | include/defines.h | 32 |
2 files changed, 45 insertions, 35 deletions
diff --git a/include/common_structs.h b/include/common_structs.h index de00e60e4..0c07181c4 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -65,28 +65,32 @@ typedef enum { /* 0x10 */ NUM_TIME_TRIAL_DATA } TIME_TRIAL_DATA_INDEX; +/** + * @brief The different types of surface in the game. +*/ enum SURFACE_TYPE { + /* -0x1 */ SURFACE_DEFAULT = -1, /* 0x00 */ AIRBORNE, - /* 0x01 */ PAVEMENT, // Luigi's Raceway, Toad's Turnpike, Koopa Troop beach shortcut tunnel, Mario Raceway, Royal Raceway, Rainbow Road, Block Fort, Double Deck, Skyscraper - /* 0x02 */ SAND_ONE, // Luigi's Raceway, Moo Moo Farm, Kalimiari Desert on course, Choco Mountain, Wario Stadium, DK Jungle on course, Yoshi Valley - /* 0x03 */ SAND_TWO, // Koopa Troopa Beach light color, Royal Raceway - /* 0x04 */ STONE_TWO, // Royal Raceway castle entrance, Bowser's Castle - /* 0x05 */ SNOW_ONE, // Frappe Snowland on course, Sherber Land tunnel - /* 0x06 */ STONE_ONE, // Royal Raceway castle bridges (even the wooden one), Banshee's Boardwalk, Big Donut - /* 0x07 */ SAND_FIVE, // Mario Raceway + /* 0x01 */ ASPHALT, // Luigi's Raceway, Toad's Turnpike, Koopa Troop beach shortcut tunnel, Mario Raceway, Royal Raceway, Rainbow Road, Block Fort, Double Deck, Skyscraper + /* 0x02 */ DIRT, // Luigi's Raceway, Moo Moo Farm, Kalimiari Desert on course, Choco Mountain, Wario Stadium, DK Jungle on course, Yoshi Valley + /* 0x03 */ SAND, // Koopa Troopa Beach light color, Royal Raceway + /* 0x04 */ STONE, // Royal Raceway castle entrance, Bowser's Castle + /* 0x05 */ SNOW, // Frappe Snowland on course, Sherber Land tunnel + /* 0x06 */ BRIDGE, // Royal Raceway castle bridges (even the wooden one), Banshee's Boardwalk, Big Donut + /* 0x07 */ SAND_OFFROAD, // Mario Raceway /* 0x08 */ GRASS, // Luigi's Raceway, Mario Raceway, Royal Raceway, Bowser's Castle, DK Jungle, Yoshi Valley /* 0x09 */ ICE, // Sherbert Land - /* 0x0A */ SAND_THREE, // Koop Troopa Beach dark color - /* 0x0B */ SNOW_TWO, // Frappe Snowland off course + /* 0x0A */ WET_SAND, // Koop Troopa Beach dark color + /* 0x0B */ SNOW_OFFROAD, // Frappe Snowland off course /* 0x0C */ CLIFF, // Koopa Troopa Beach, Choco Mountain - /* 0x0D */ SAND_FOUR, // Kalimari Desert off course + /* 0x0D */ DIRT_OFFROAD, // Kalimari Desert off course /* 0x0E */ TRAIN_TRACK, // Kalimari Desert - /* 0x0F */ DIRT, // DK Jungle cave - /* 0x10 */ WOOD_TWO, // Bowser's Castle bridge 2, DK Jungle bridge - /* 0x11 */ WOOD_ONE, // Frappe Snowland bridge, Bowser's Castle bridge 1,3, Yoshi Valley bridge 2 - /* 0xFC */ BOOST_PAD_TWO = 0xFC, // DK Jungle + /* 0x0F */ CAVE, // DK Jungle cave + /* 0x10 */ ROPE_BRIDGE, // Bowser's Castle bridge 2, DK Jungle bridge + /* 0x11 */ WOOD_BRIDGE, // Frappe Snowland bridge, Bowser's Castle bridge 1,3, Yoshi Valley bridge 2 + /* 0xFC */ BOOST_RAMP_WOOD = 0xFC, // DK Jungle /* 0xFD */ OUT_OF_BOUNDS, // DK Jungle river island - /* 0xFE */ BOOST_PAD_ONE, // Royal Raceway + /* 0xFE */ BOOST_RAMP_ASPHALT, // Royal Raceway /* 0xFF */ RAMP // Koopa Troopa beach }; @@ -156,15 +160,9 @@ typedef struct { typedef struct { s16 ob[3]; /* x, y, z */ s16 tc[2]; /* texture coord */ - u8 ca[4]; /* color & alpha */ - -} mk64_Vtx; + s8 ca[4]; /* color & alpha */ -typedef struct { - s16 ob[3]; /* x, y, z */ - s16 tc[2]; /* texture coord */ - s8 n[3]; /* color & alpha */ -} mk64_Vtx_n; +} CourseVtx; /* This struct has been copied (with only minor modifications) from @@ -251,7 +249,7 @@ typedef struct { /* 0x0006 */ u16 unk_006; /* 0x0008 */ s16 lapCount; /* 0x000A */ char unk_00A[0x2]; - /* 0x000C */ s32 statusEffects; // Bitflag. + /* 0x000C */ s32 soundEffects; // Bitflag. /* 0x0010 */ s16 currentItemCopy; // Has no effect on what item the players has, It is just a synced copy /* 0x0012 */ s16 unk_012; /* 0x0014 */ Vec3f pos; @@ -313,7 +311,7 @@ typedef struct { /* 0x00EC */ f32 kartHopVelocity; /* 0x00F0 */ f32 kartHopJerk; /* 0x00F4 */ f32 kartHopAcceleration; - /* 0x00F8 */ u16 unk_0F8; + /* 0x00F8 */ u16 surfaceType; /* 0x00FA */ s16 unk_0FA; /* 0x00FC */ f32 kartFriction; /* 0x0100 */ f32 kartGravity; diff --git a/include/defines.h b/include/defines.h index fc1ca4c0c..2f3bfd971 100644 --- a/include/defines.h +++ b/include/defines.h @@ -322,18 +322,30 @@ typedef enum { #define MAX_TIME 0x927C0 /** - * @brief effect of player's - * for statusEffect + * @brief sound effect of player's + * for soundEffect */ -#define BOOST_EFFECT 0x200 // being boosted by trigger a mushroom or star -#define BOO_EFFECT 0x800 // being a boo -#define STAR_EFFECT 0x2000 // being a star -#define HIT_ROTATING_EFFECT 0x4000 // hitting a rotating object -#define HOLD_BANANA_EFFECT 0x40000 // holding a banana -#define REVERSE_EFFECT 0x400000 // being in the wrong direction -#define HIT_BY_ITEM_EFFECT 0x1000000 // being hit by an item -#define LIGHTNING_EFFECT 0x40000000 // being hit by lightning +#define BOOST_SOUND_EFFECT 0x200 // being boosted by trigger a mushroom +#define BOO_SOUND_EFFECT 0x800 // being a boo +#define STAR_SOUND_EFFECT 0x2000 // being a star +#define HIT_ROTATING_SOUND_EFFECT 0x4000 // hitting a rotating object +#define BOOST_RAMP_WOOD_SOUND_EFFECT 0x8000 // being boosted by a ramp +#define HOLD_BANANA_SOUND_EFFECT 0x40000 // holding a banana +#define REVERSE_SOUND_EFFECT 0x400000 // being in the wrong direction +#define BOOST_RAMP_ASPHALT_SOUND_EFFECT 0x800000 // being boosted by a boost pad +#define HIT_BY_ITEM_SOUND_EFFECT 0x1000000 // being hit by an item +/** + * @brief effect of player's + * for effects + */ +#define BOOST_RAMP_WOOD_EFFECT 0x4 // being boosted by a ramp +#define STAR_EFFECT 0x200 // being a star +#define BOOST_EFFECT 0x2000 // being boosted by trigger a mushroom +#define BOOST_RAMP_ASPHALT_EFFECT 0x100000 // being boosted by a boost pad +#define HIT_BY_ITEM_EFFECT 0x2000000 // being hit by an item +#define LIGHTNING_EFFECT 0x40000000 // being hit by lightning +#define BOO_EFFECT 0x80000000 // being a boo /** * @brief shell state |
