From fe21bb82884d2b380cb8a62277d6fe45c9aa5e58 Mon Sep 17 00:00:00 2001 From: MegaMech <7255464+MegaMech@users.noreply.github.com> Date: Sat, 18 Apr 2026 00:13:25 +0000 Subject: [PATCH] Clang Format --- include/PR/abi.h | 8 +- include/PR/gbi.h | 42 +- include/common_structs.h | 9 +- include/defines.h | 110 ++--- include/libc/stddef.h | 2 +- include/segments.h | 36 +- include/seq_ids.h | 2 +- src/actors/blue_and_red_shells/update.inc.c | 4 +- src/actors/cow/render.inc.c | 3 +- src/actors/fake_item_box/render.inc.c | 2 +- src/actors/falling_rock/render.inc.c | 4 +- src/actors/item_box/render.inc.c | 2 +- src/actors/paddle_boat/render.inc.c | 3 +- src/actors/palm_tree/render.inc.c | 3 +- src/actors/railroad_crossing/render.inc.c | 4 +- src/actors/school_bus/render.inc.c | 3 +- src/actors/tanker_truck/render.inc.c | 4 +- src/actors/train/render.inc.c | 12 +- src/actors/trees/render.inc.c | 30 +- src/actors/yoshi_egg/render.inc.c | 4 +- src/audio/external.c | 28 +- src/audio/load.c | 7 +- src/audio/load.h | 2 +- src/audio/synthesis.c | 78 ++-- src/code_80057C60.c | 117 +++-- src/code_8006E9C0.c | 118 +++--- src/code_800AF9B0.c | 13 +- src/cpu_vehicles_camera_path.c | 92 ++-- .../cpu_speed_control.inc.c | 3 +- src/data/some_data.c | 33 +- src/effects.c | 4 +- src/kart_dma.c | 223 +++++----- src/menu_items.c | 18 +- src/menus.c | 43 +- src/os/is_debug.c | 8 +- src/player_controller.c | 400 +++++++++++------- src/racing/actors.c | 3 +- src/racing/math_util.c | 8 +- src/racing/memory.c | 72 ++-- src/racing/race_logic.c | 11 +- src/render_objects.c | 23 +- src/render_player.c | 94 ++-- src/save.c | 14 +- src/update_objects.c | 10 +- 44 files changed, 947 insertions(+), 762 deletions(-) diff --git a/include/PR/abi.h b/include/PR/abi.h index 25cbf9f1c..842938b6b 100644 --- a/include/PR/abi.h +++ b/include/PR/abi.h @@ -822,7 +822,13 @@ typedef short ENVMIX_STATE[40]; /* * See aEnvMixer for more info. */ -#define aEnvSetup1Alt(pkt,initialVolReverb,rampReverbL,rampReverbR,rampLeft,rampRight) { Acmd *_a = (Acmd *)pkt; _a->words.w0 = (_SHIFTL(A_ENVSETUP1, 24, 8) | _SHIFTL(initialVolReverb, 16, 8) | (_SHIFTL(rampReverbL, 8, 8)) | _SHIFTL(rampReverbR, 0, 8)); _a->words.w1 = _SHIFTL(rampLeft, 16, 16) | _SHIFTL(rampRight, 0, 16); } +#define aEnvSetup1Alt(pkt, initialVolReverb, rampReverbL, rampReverbR, rampLeft, rampRight) \ + { \ + Acmd* _a = (Acmd*) pkt; \ + _a->words.w0 = (_SHIFTL(A_ENVSETUP1, 24, 8) | _SHIFTL(initialVolReverb, 16, 8) | \ + (_SHIFTL(rampReverbL, 8, 8)) | _SHIFTL(rampReverbR, 0, 8)); \ + _a->words.w1 = _SHIFTL(rampLeft, 16, 16) | _SHIFTL(rampRight, 0, 16); \ + } /* * See aEnvMixer for more info. diff --git a/include/PR/gbi.h b/include/PR/gbi.h index d3005608b..4a25c5986 100644 --- a/include/PR/gbi.h +++ b/include/PR/gbi.h @@ -1983,7 +1983,10 @@ typedef union { _g->words.w0 = _SHIFTL(G_TRI1, 24, 8) | __gsSP1Triangle_w1f(v0, v1, v2, flag); \ _g->words.w1 = 0; \ } -#define gsSP1Triangle(v0, v1, v2, flag) { { _SHIFTL(G_TRI1, 24, 8) | __gsSP1Triangle_w1f(v0, v1, v2, flag), 0 } } +#define gsSP1Triangle(v0, v1, v2, flag) \ + { \ + { _SHIFTL(G_TRI1, 24, 8) | __gsSP1Triangle_w1f(v0, v1, v2, flag), 0 } \ + } /*** *** Line @@ -1995,7 +1998,10 @@ typedef union { _g->words.w0 = _SHIFTL(G_LINE3D, 24, 8) | __gsSPLine3D_w1f(v0, v1, 0, flag); \ _g->words.w1 = 0; \ } -#define gsSPLine3D(v0, v1, flag) { { _SHIFTL(G_LINE3D, 24, 8) | __gsSPLine3D_w1f(v0, v1, 0, flag), 0 } } +#define gsSPLine3D(v0, v1, flag) \ + { \ + { _SHIFTL(G_LINE3D, 24, 8) | __gsSPLine3D_w1f(v0, v1, 0, flag), 0 } \ + } /*** *** LineW @@ -2013,7 +2019,10 @@ typedef union { _g->words.w0 = _SHIFTL(G_LINE3D, 24, 8) | __gsSPLine3D_w1f(v0, v1, wd, flag); \ _g->words.w1 = 0; \ } -#define gsSPLineW3D(v0, v1, wd, flag) { { _SHIFTL(G_LINE3D, 24, 8) | __gsSPLine3D_w1f(v0, v1, wd, flag), 0 } } +#define gsSPLineW3D(v0, v1, wd, flag) \ + { \ + { _SHIFTL(G_LINE3D, 24, 8) | __gsSPLine3D_w1f(v0, v1, wd, flag), 0 } \ + } /*** *** 1 Quadrangle @@ -2093,12 +2102,14 @@ typedef union { /*** *** 1 Quadrangle ***/ -#define gSP1Quadrangle(v0, v1, v2, v3, flag) \ - { { Gfx* _g = (Gfx*) (pkt); \ - \ - _g->words.w0 = _SHIFTL(G_QUAD, 24, 8); \ - _g->words.w1 = __gsSP1Quadrangle_w1(v0, v1, v2, v3); \ - } \ +#define gSP1Quadrangle(v0, v1, v2, v3, flag) \ + { \ + { \ + Gfx* _g = (Gfx*) (pkt); \ + \ + _g->words.w0 = _SHIFTL(G_QUAD, 24, 8); \ + _g->words.w1 = __gsSP1Quadrangle_w1(v0, v1, v2, v3); \ + } \ } #define gsSP1Quadrangle(v0, v1, v2, v3, flag) \ @@ -2602,7 +2613,8 @@ typedef union { #define gsSPLookAtY(l) gsDma1p(G_MOVEMEM, l, sizeof(Light), G_MV_LOOKATY) #endif /* F3DEX_GBI_2 */ -#define gSPLookAt(pkt, la) { gSPLookAtX(pkt, la) gSPLookAtY(pkt, (char*) (la) + 16) } +#define gSPLookAt(pkt, la) \ + { gSPLookAtX(pkt, la) gSPLookAtY(pkt, (char*) (la) + 16) } #define gsSPLookAt(la) gsSPLookAtX(la), gsSPLookAtY((char*) (la) + 16) #define gDPSetHilite1Tile(pkt, tile, hilite, width, height) \ @@ -2755,7 +2767,10 @@ typedef union { _g->words.w1 = 0; \ } -#define gsSPEndDisplayList() { { _SHIFTL(G_ENDDL, 24, 8), 0 } } +#define gsSPEndDisplayList() \ + { \ + { _SHIFTL(G_ENDDL, 24, 8), 0 } \ + } #ifdef F3DEX_GBI_2 /* @@ -3979,7 +3994,10 @@ typedef union { _g->words.w1 = 0; \ } -#define gsDPNoParam(cmd) { { _SHIFTL(cmd, 24, 8), 0 } } +#define gsDPNoParam(cmd) \ + { \ + { _SHIFTL(cmd, 24, 8), 0 } \ + } #define gDPParam(pkt, cmd, param) \ { \ diff --git a/include/common_structs.h b/include/common_structs.h index 4ecc800fa..4beef3790 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -253,7 +253,7 @@ typedef struct { /* 0x0006 */ u16 unk_006; /* 0x0008 */ s16 lapCount; /* 0x000A */ char unk_00A[0x2]; - /* 0x000C */ s32 triggers; // Bitflag. + /* 0x000C */ s32 triggers; // 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; @@ -273,9 +273,10 @@ typedef struct { /* 0x0064 */ Vec3f unk_064; /* 0x0070 */ f32 boundingBoxSize; /* 0x0074 */ f32 unk_074; - /* 0x0078 */ s16 unk_078; // One source of angular velocity (turning / swerving) + /* 0x0078 */ s16 unk_078; // One source of angular velocity (turning / swerving) /* 0x007A */ s16 unk_07A; - /* 0x007C */ s32 steerPosition; // Where the kart is steering, related to joystick position. Basically, in [-53 to 53], but shifted 16 bits left + /* 0x007C */ s32 steerPosition; // Where the kart is steering, related to joystick position. Basically, in [-53 to + // 53], but shifted 16 bits left /* 0x0080 */ f32 boostPower; /* 0x0084 */ f32 unk_084; /* 0x0088 */ f32 unk_088; @@ -328,7 +329,7 @@ typedef struct { /* 0x01F8 */ f32 unk_1F8; /* 0x01FC */ f32 unk_1FC; /* 0x0200 */ u32 steerChangeIncrement; // May be s32. but less casting required if u32 - /* 0x0204 */ s16 driftDuration; // charges up while drifting, primarily protects against driving spinouts + /* 0x0204 */ s16 driftDuration; // charges up while drifting, primarily protects against driving spinouts /* 0x0206 */ s16 unk_206; /* 0x0208 */ f32 unk_208; /* 0x020C */ f32 unk_20C; diff --git a/include/defines.h b/include/defines.h index 66523f42a..4bd235f4f 100644 --- a/include/defines.h +++ b/include/defines.h @@ -334,7 +334,7 @@ enum PLACE { FIRST_PLACE, SECOND_PLACE, THIRD_PLACE, FOURTH_PLACE }; // player->unk_046 /* The first time you touch a penguin or bat, and anytime you touch a thwomp during a - race will set a flag which will cause your next spinout to be instant (i.e. no + race will set a flag which will cause your next spinout to be instant (i.e. no sliding forward). Probably half-implemented code to prevent sliding through enemies, but causes this bug */ #define CRITTER_TOUCH 0x2 // Touched a penguin, bat or thwomp @@ -344,19 +344,21 @@ enum PLACE { FIRST_PLACE, SECOND_PLACE, THIRD_PLACE, FOURTH_PLACE }; // player->oobProps /* Deals with the lower out of bounds (OOB) plane on levels. Represented by fluids (water / lava) or nothing for Rainbow Road and Skyscraper. */ -#define UNDER_OOB_OR_FLUID_LEVEL 0x1 // Set while mostly under the plane. Does not necessarily trigger Lakitu on Koopa Troopa Beach. +#define UNDER_OOB_OR_FLUID_LEVEL \ + 0x1 // Set while mostly under the plane. Does not necessarily trigger Lakitu on Koopa Troopa Beach. #define PASS_OOB_OR_FLUID_LEVEL 0x2 // Set when passing through the lower plane in either direction // The next two are also activated when passing through the lower plane. #define UNDER_FLUID_LEVEL 0x4 // Stays active until Lakitu places back on track -#define UNDER_OOB_LEVEL 0x8 // Active while under a non-fluid OOB plane. Is momentarily active when passing through fluids. - +#define UNDER_OOB_LEVEL \ + 0x8 // Active while under a non-fluid OOB plane. Is momentarily active when passing through fluids. /* UNK_002 has something to do with player animations. Each player has a 32-bit flag broken into 8 groups of 4 bits. Those 4 bits affect how each of the 8 players appear to the specified player */ #define CHANGING_ANIMATION 0x1 // Seems to be set when the kart animation has to change. -#define UNK_002_UNKNOWN_0x2 0x2 -#define UNK_002_UNKNOWN_0x4 0x4 /* Unclear, but has to do with viewing the side of player. At least tends to change if target +#define UNK_002_UNKNOWN_0x2 0x2 +#define UNK_002_UNKNOWN_0x4 \ + 0x4 /* Unclear, but has to do with viewing the side of player. At least tends to change if target \ player spins. Something with avoding rollover of aniamation frame data? */ #define SIDE_OF_KART 0x8 // Seems to be whether you are in a rectangle shooting out from both sides of target player @@ -368,62 +370,64 @@ player spins. Something with avoding rollover of aniamation frame data? */ #define EXPLOSION 0x1000 // Big shock looking graphic when starting tumble // player->lakituProps -#define LAKITU_RETRIEVAL 0x1 // While lakitu is grabbing you, but before the scene transition of being placed on the track -#define HELD_BY_LAKITU 0x2 -#define LAKITU_FIZZLE 0x4 // Disintegration and reintegration effect when transitioning from retrieval to placement -#define LAKITU_SCENE 0x8 // the whole segment from when lakitu is called to when you regain control -#define FRIGID_EFFECT 0x10 // Cold colors on Sherbet Land after in frigid water -#define THAWING_EFFECT 0x20 // Regaining usual colors post frigid effect -#define FROZEN_EFFECT 0x80 // In the ice cube -#define WENT_OVER_OOB 0x100 // Player went over (or is on) an OOB area. Cancelled if touch back in bounds -#define LAKITU_LAVA 0x1000 // smoky effect when retrieved from lava -#define LAKITU_WATER 0x2000 // dripping effect when retreived from water +#define LAKITU_RETRIEVAL \ + 0x1 // While lakitu is grabbing you, but before the scene transition of being placed on the track +#define HELD_BY_LAKITU 0x2 +#define LAKITU_FIZZLE 0x4 // Disintegration and reintegration effect when transitioning from retrieval to placement +#define LAKITU_SCENE 0x8 // the whole segment from when lakitu is called to when you regain control +#define FRIGID_EFFECT 0x10 // Cold colors on Sherbet Land after in frigid water +#define THAWING_EFFECT 0x20 // Regaining usual colors post frigid effect +#define FROZEN_EFFECT 0x80 // In the ice cube +#define WENT_OVER_OOB 0x100 // Player went over (or is on) an OOB area. Cancelled if touch back in bounds +#define LAKITU_LAVA 0x1000 // smoky effect when retrieved from lava +#define LAKITU_WATER 0x2000 // dripping effect when retreived from water // player->kartProps -#define BACK_UP 0x1 -#define RIGHT_TURN 0x2 // non-drifting (more than 5 degrees) -#define LEFT_TURN 0x4 // non-drifting (more than 5 degrees) -#define MOVE_BACKWARDS 0x8 // includes lakitu -#define LOSE_GP_RACE 0x10 // pointless, only unsets itself -#define THROTTLE 0x20 // Closely tied to just pressing A. Possible exception for AB-spins -#define EARLY_SPINOUT_RIGHT 0x40 // Spinning out while facing right (not actually used for anything) -#define EARLY_SPINOUT_LEFT 0x80 // Spinning out while facing left -#define POST_TUMBLE_GAS 0x100 // Causes particles after a vertical tumble, I think -#define BECOME_INVISIBLE 0x200 -#define UNUSED_0x400 0x400 // locked behind 0x800 (func_80091440) -#define UNUSED_0x800 0x800 // locked behind 0x400 (func_8002B830 -> func_800911B4) -#define UNUSED_0x1000 0x1000 // 0x1000 locked behind 0x400 (func_8002B830 -> func_800911B4) -#define UNUSED_0x2000 0x2000 // 0x2000 locked behind 0x400 and 0x800 (func_8002B830 -> func_800911B4, apply_effect -> func_80091298, - // func_80091440) +#define BACK_UP 0x1 +#define RIGHT_TURN 0x2 // non-drifting (more than 5 degrees) +#define LEFT_TURN 0x4 // non-drifting (more than 5 degrees) +#define MOVE_BACKWARDS 0x8 // includes lakitu +#define LOSE_GP_RACE 0x10 // pointless, only unsets itself +#define THROTTLE 0x20 // Closely tied to just pressing A. Possible exception for AB-spins +#define EARLY_SPINOUT_RIGHT 0x40 // Spinning out while facing right (not actually used for anything) +#define EARLY_SPINOUT_LEFT 0x80 // Spinning out while facing left +#define POST_TUMBLE_GAS 0x100 // Causes particles after a vertical tumble, I think +#define BECOME_INVISIBLE 0x200 +#define UNUSED_0x400 0x400 // locked behind 0x800 (func_80091440) +#define UNUSED_0x800 0x800 // locked behind 0x400 (func_8002B830 -> func_800911B4) +#define UNUSED_0x1000 0x1000 // 0x1000 locked behind 0x400 (func_8002B830 -> func_800911B4) +#define UNUSED_0x2000 \ + 0x2000 // 0x2000 locked behind 0x400 and 0x800 (func_8002B830 -> func_800911B4, apply_effect -> func_80091298, + // func_80091440) #define DRIVING_NEAR_SPINOUT 0x4000 #define UNKNOWN_BATTLE_VAR 0x8000 // 0x8000 something battle related, unclear if ever set /* * @brief triggers indicating that an effect should be applied to a kart */ -#define HIT_BANANA_TRIGGER 0x1 // hits a banana -#define HIGH_TUMBLE_TRIGGER 0x2 // hit by a red shell, blue shell, or hit a mole -#define LOW_TUMBLE_TRIGGER 0x4 // hit by a green shell -#define DRIVING_SPINOUT_TRIGGER 0x80 // spinning out from erratic driving -#define THWOMP_SQUISH_TRIGGER 0x100 // stomped by thwomp -#define SHROOM_TRIGGER 0x200 // being boosted by trigger a mushroom -#define BOO_TRIGGER 0x800 // being a boo -#define UNUSED_TRIGGER_0x1000 0x1000 // Unused -#define STAR_TRIGGER 0x2000 // Starting a star -#define LIGHTNING_STRIKE_TRIGGER 0x4000 // Struck by lightning -#define BOOST_RAMP_WOOD_TRIGGER 0x8000 // being boosted by a ramp -#define UNUSED_TRIGGER_0x20000 0x20000 // Unused -#define DRAG_ITEM_EFFECT 0x40000 // holding a non-shell item behind you -#define HIT_PADDLE_BOAT_TRIGGER 0x80000 // hit paddle boat -#define UNUSED_TRIGGER_0x10000 0x100000 // Unused -#define SPINOUT_TRIGGER 0x200000 // hit crab or spiny spinout or losing versus race -#define VERTICAL_TUMBLE_TRIGGER 0x400000 // hitting a fake item / bomb / snowman / car / train +#define HIT_BANANA_TRIGGER 0x1 // hits a banana +#define HIGH_TUMBLE_TRIGGER 0x2 // hit by a red shell, blue shell, or hit a mole +#define LOW_TUMBLE_TRIGGER 0x4 // hit by a green shell +#define DRIVING_SPINOUT_TRIGGER 0x80 // spinning out from erratic driving +#define THWOMP_SQUISH_TRIGGER 0x100 // stomped by thwomp +#define SHROOM_TRIGGER 0x200 // being boosted by trigger a mushroom +#define BOO_TRIGGER 0x800 // being a boo +#define UNUSED_TRIGGER_0x1000 0x1000 // Unused +#define STAR_TRIGGER 0x2000 // Starting a star +#define LIGHTNING_STRIKE_TRIGGER 0x4000 // Struck by lightning +#define BOOST_RAMP_WOOD_TRIGGER 0x8000 // being boosted by a ramp +#define UNUSED_TRIGGER_0x20000 0x20000 // Unused +#define DRAG_ITEM_EFFECT 0x40000 // holding a non-shell item behind you +#define HIT_PADDLE_BOAT_TRIGGER 0x80000 // hit paddle boat +#define UNUSED_TRIGGER_0x10000 0x100000 // Unused +#define SPINOUT_TRIGGER 0x200000 // hit crab or spiny spinout or losing versus race +#define VERTICAL_TUMBLE_TRIGGER 0x400000 // hitting a fake item / bomb / snowman / car / train #define BOOST_RAMP_ASPHALT_TRIGGER 0x800000 // being boosted by a boost pad -#define HIT_BY_STAR_TRIGGER 0x1000000 // being hit by a star -#define START_BOOST_TRIGGER 0x2000000 // Start boost -#define LOSE_BATTLE_EFFECT 0x4000000 // When losing battle mode -#define BECOME_BOMB_EFFECT 0x8000000 // When becoming a bomb in battle mode -#define START_SPINOUT_TRIGGER 0x10000000 // Spinning out by holding gas at start of race +#define HIT_BY_STAR_TRIGGER 0x1000000 // being hit by a star +#define START_BOOST_TRIGGER 0x2000000 // Start boost +#define LOSE_BATTLE_EFFECT 0x4000000 // When losing battle mode +#define BECOME_BOMB_EFFECT 0x8000000 // When becoming a bomb in battle mode +#define START_SPINOUT_TRIGGER 0x10000000 // Spinning out by holding gas at start of race #define ALL_TRIGGERS (0xFFFFFFFF) #define RACING_SPINOUT_TRIGGERS (SPINOUT_TRIGGER | DRIVING_SPINOUT_TRIGGER | HIT_BANANA_TRIGGER) // 0x200081 diff --git a/include/libc/stddef.h b/include/libc/stddef.h index a6d53e3af..2a6274abf 100644 --- a/include/libc/stddef.h +++ b/include/libc/stddef.h @@ -4,7 +4,7 @@ #include #ifndef offsetof -#define offsetof(st, m) ((size_t) &(((st*) 0)->m)) +#define offsetof(st, m) ((size_t) & (((st*) 0)->m)) #endif #endif diff --git a/include/segments.h b/include/segments.h index d724245b9..6d35cd290 100644 --- a/include/segments.h +++ b/include/segments.h @@ -45,11 +45,11 @@ extern u8 _startupLogoSegmentRomEnd[]; // Defines duplicated even if the same for both for easier readability #ifdef AVOID_UB -#define MEMORY_POOL_START (uintptr_t) &_memoryPoolSegmentNoloadStart[0] -#define MEMORY_POOL_END (uintptr_t) &_memoryPoolSegmentNoloadEnd[0] +#define MEMORY_POOL_START (uintptr_t) & _memoryPoolSegmentNoloadStart[0] +#define MEMORY_POOL_END (uintptr_t) & _memoryPoolSegmentNoloadEnd[0] -#define SEG_ENDING (uintptr_t) &_endingSegmentStart[0] -#define SEG_ENDING_ROM_START (uintptr_t) &_endingSegmentRomStart[0] +#define SEG_ENDING (uintptr_t) & _endingSegmentStart[0] +#define SEG_ENDING_ROM_START (uintptr_t) & _endingSegmentRomStart[0] /** * Ending segment original size is 0xDF00 but much of that remains unused. * This auto fits the segment to its proper size. @@ -57,20 +57,20 @@ extern u8 _startupLogoSegmentRomEnd[]; #define SEG_ENDING_SIZE (size_t) ALIGN16((ptrdiff_t) (&_endingSegmentNoloadEnd[0] - &_endingSegmentStart[0])) #define SEG_ENDING_ROM_SIZE (size_t) ALIGN16((ptrdiff_t) (&_endingSegmentRomEnd[0] - &_endingSegmentRomStart[0])) -#define SEG_RACING (uintptr_t) &_racingSegmentStart[0] -#define SEG_RACING_ROM_START (uintptr_t) &_racingSegmentRomStart[0] +#define SEG_RACING (uintptr_t) & _racingSegmentStart[0] +#define SEG_RACING_ROM_START (uintptr_t) & _racingSegmentRomStart[0] #define SEG_RACING_SIZE (size_t) ALIGN16((ptrdiff_t) (&_racingSegmentNoloadEnd[0] - &_racingSegmentStart[0])) #define SEG_RACING_ROM_SIZE (size_t) ALIGN16((ptrdiff_t) (&_racingSegmentRomEnd[0] - &_racingSegmentRomStart[0])) -#define TRIG_TABLES (uintptr_t) &_trigTablesSegmentStart[0] -#define TRIG_TABLES_ROM_START (uintptr_t) &_trigTablesSegmentRomStart[0] +#define TRIG_TABLES (uintptr_t) & _trigTablesSegmentStart[0] +#define TRIG_TABLES_ROM_START (uintptr_t) & _trigTablesSegmentRomStart[0] #define TRIG_TABLES_SIZE (size_t) _trigTablesSegmentSize -#define SEG_DATA_START (uintptr_t) &_data_segment2SegmentRomStart[0] -#define SEG_DATA_END (uintptr_t) &_data_segment2SegmentRomEnd[0] +#define SEG_DATA_START (uintptr_t) & _data_segment2SegmentRomStart[0] +#define SEG_DATA_END (uintptr_t) & _data_segment2SegmentRomEnd[0] -#define COMMON_TEXTURES_ROM_START (uintptr_t) &_common_texturesSegmentRomStart[0] -#define COMMON_TEXTURES_SIZE (ptrdiff_t) (&_common_texturesSegmentRomEnd[0] - &_common_texturesSegmentRomStart[0]) +#define COMMON_TEXTURES_ROM_START (uintptr_t) & _common_texturesSegmentRomStart[0] +#define COMMON_TEXTURES_SIZE (ptrdiff_t)(&_common_texturesSegmentRomEnd[0] - &_common_texturesSegmentRomStart[0]) #define CEREMONY_DATA_ROM_START &_ceremonyDataSegmentRomStart[0] #define CEREMONY_DATA_ROM_END &_ceremonyDataSegmentRomEnd[0] @@ -80,7 +80,7 @@ extern u8 _startupLogoSegmentRomEnd[]; #else // Required for ok -#define MEMORY_POOL_START (uintptr_t) &_memoryPoolSegmentNoloadStart +#define MEMORY_POOL_START (uintptr_t) & _memoryPoolSegmentNoloadStart #define MEMORY_POOL_END (uintptr_t) 0x80242F00 #define SEG_ENDING (uintptr_t) 0x80280000 @@ -96,15 +96,15 @@ extern u8 _startupLogoSegmentRomEnd[]; #define SEG_RACING_ROM_SIZE (size_t) ALIGN16((ptrdiff_t) (&_racingSegmentRomEnd[0] - &_racingSegmentRomStart[0])) #define TRIG_TABLES (uintptr_t) 0x802BA370 -#define TRIG_TABLES_ROM_START (uintptr_t) &_trigTablesSegmentRomStart[0] +#define TRIG_TABLES_ROM_START (uintptr_t) & _trigTablesSegmentRomStart[0] #define TRIG_TABLES_SIZE (size_t) 0x5810 -#define SEG_DATA_START (uintptr_t) &_data_segment2SegmentRomStart[0] -#define SEG_DATA_END (uintptr_t) &_data_segment2SegmentRomEnd[0] +#define SEG_DATA_START (uintptr_t) & _data_segment2SegmentRomStart[0] +#define SEG_DATA_END (uintptr_t) & _data_segment2SegmentRomEnd[0] -#define COMMON_TEXTURES_ROM_START (uintptr_t) &_common_texturesSegmentRomStart[0] +#define COMMON_TEXTURES_ROM_START (uintptr_t) & _common_texturesSegmentRomStart[0] #define COMMON_TEXTURES_SIZE \ - (ptrdiff_t) ((uintptr_t) &_common_texturesSegmentRomEnd - (uintptr_t) &_common_texturesSegmentRomStart) + (ptrdiff_t)((uintptr_t) & _common_texturesSegmentRomEnd - (uintptr_t) & _common_texturesSegmentRomStart) #define CEREMONY_DATA_ROM_START &_ceremonyDataSegmentRomStart[0] #define CEREMONY_DATA_ROM_END &_ceremonyDataSegmentRomEnd[0] diff --git a/include/seq_ids.h b/include/seq_ids.h index 509e86773..81382dc27 100644 --- a/include/seq_ids.h +++ b/include/seq_ids.h @@ -32,7 +32,7 @@ enum SeqId { SEQ_EVENT_CEREMONY_PRESENTATION_PART2_WIN, // 0x1B (27) SEQ_EVENT_CEREMONY_TROPHY_CREDITS, // 0x1C (28) SEQ_EVENT_CEREMONY_PRESENTATION_PART2_LOSE, // 0x1D (29) - SEQ_COUNT + SEQ_COUNT }; #endif // SEQ_IDS_H diff --git a/src/actors/blue_and_red_shells/update.inc.c b/src/actors/blue_and_red_shells/update.inc.c index 4835c53ef..eca28149c 100644 --- a/src/actors/blue_and_red_shells/update.inc.c +++ b/src/actors/blue_and_red_shells/update.inc.c @@ -172,8 +172,8 @@ s16 func_802B3FD0(Player* owner, struct ShellActor* shell) { if (gPlayerBalloonCount[playerIndex] < 0) { continue; } - // dist_squared_bugged is not quite a 3D distance function, it doubles (rather than squares) the Z difference of the - // positions + // dist_squared_bugged is not quite a 3D distance function, it doubles (rather than squares) the Z difference of + // the positions playerToShellDistance = dist_squared_bugged(player->pos, shell->pos); if (playerToShellDistance < smallestDistance) { smallestDistance = playerToShellDistance; diff --git a/src/actors/cow/render.inc.c b/src/actors/cow/render.inc.c index a313043d6..dd257207f 100644 --- a/src/actors/cow/render.inc.c +++ b/src/actors/cow/render.inc.c @@ -13,8 +13,7 @@ * @param arg2 */ void render_actor_cow(Camera* camera, Mat4 arg1, struct Actor* arg2) { - if (distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], - 4000000.0f) < 0) { + if (distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f) < 0) { return; } diff --git a/src/actors/fake_item_box/render.inc.c b/src/actors/fake_item_box/render.inc.c index 36e4cf9e0..75d715948 100644 --- a/src/actors/fake_item_box/render.inc.c +++ b/src/actors/fake_item_box/render.inc.c @@ -25,7 +25,7 @@ void render_actor_fake_item_box(Camera* camera, struct FakeItemBox* fakeItemBox) f32 someMultiplier; if (distance_if_visible(camera->pos, fakeItemBox->pos, camera->rot[1], 2500.0f, gCameraZoom[camera - camera1], - 1000000.0f) < 0) { + 1000000.0f) < 0) { actor_not_rendered(camera, (struct Actor*) fakeItemBox); return; } diff --git a/src/actors/falling_rock/render.inc.c b/src/actors/falling_rock/render.inc.c index 5b3e09927..e5a1372d1 100644 --- a/src/actors/falling_rock/render.inc.c +++ b/src/actors/falling_rock/render.inc.c @@ -20,8 +20,8 @@ void render_actor_falling_rock(Camera* camera, struct FallingRock* rock) { return; } - height = distance_if_visible(camera->pos, rock->pos, camera->rot[1], 400.0f, gCameraZoom[camera - camera1], - 4000000.0f); + height = + distance_if_visible(camera->pos, rock->pos, camera->rot[1], 400.0f, gCameraZoom[camera - camera1], 4000000.0f); if (height < 0.0f) { return; diff --git a/src/actors/item_box/render.inc.c b/src/actors/item_box/render.inc.c index d0288a637..3355b06b3 100644 --- a/src/actors/item_box/render.inc.c +++ b/src/actors/item_box/render.inc.c @@ -27,7 +27,7 @@ void render_actor_item_box(Camera* camera, struct ItemBox* item_box) { f32 someMultiplier; temp_f0 = distance_if_visible(camera->pos, item_box->pos, camera->rot[1], 0.0f, gCameraZoom[camera - camera1], - 4000000.0f); + 4000000.0f); if (!(temp_f0 < 0.0f) && !(600000.0f < temp_f0)) { if ((item_box->state == 2) && (temp_f0 < 100000.0f)) { someRot[0] = 0; diff --git a/src/actors/paddle_boat/render.inc.c b/src/actors/paddle_boat/render.inc.c index fdd16a2e4..d83bd9ea5 100644 --- a/src/actors/paddle_boat/render.inc.c +++ b/src/actors/paddle_boat/render.inc.c @@ -28,8 +28,7 @@ void render_actor_paddle_boat(Camera* arg0, struct PaddleWheelBoat* boat, UNUSED return; } - temp = - distance_if_visible(arg0->pos, boat->pos, arg0->rot[1], 90000.0f, gCameraZoom[arg0 - camera1], 9000000.0f); + temp = distance_if_visible(arg0->pos, boat->pos, arg0->rot[1], 90000.0f, gCameraZoom[arg0 - camera1], 9000000.0f); if (temp < 0.0f) { return; diff --git a/src/actors/palm_tree/render.inc.c b/src/actors/palm_tree/render.inc.c index 60690e4e3..69f5b00c5 100644 --- a/src/actors/palm_tree/render.inc.c +++ b/src/actors/palm_tree/render.inc.c @@ -20,8 +20,7 @@ void render_actor_palm_tree(Camera* arg0, UNUSED Mat4 arg1, struct PalmTree* arg return; } - temp_f0 = - distance_if_visible(arg0->pos, arg2->pos, arg0->rot[1], 0.0f, gCameraZoom[arg0 - camera1], 4000000.0f); + temp_f0 = distance_if_visible(arg0->pos, arg2->pos, arg0->rot[1], 0.0f, gCameraZoom[arg0 - camera1], 4000000.0f); if (!(temp_f0 < 0.0f)) { if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) { diff --git a/src/actors/railroad_crossing/render.inc.c b/src/actors/railroad_crossing/render.inc.c index 674bc3da5..3d32741b8 100644 --- a/src/actors/railroad_crossing/render.inc.c +++ b/src/actors/railroad_crossing/render.inc.c @@ -13,8 +13,8 @@ void render_actor_railroad_crossing(Camera* arg0, struct RailroadCrossing* rr_crossing) { UNUSED Vec3s sp80 = { 0, 0, 0 }; Mat4 sp40; - f32 unk = distance_if_visible(arg0->pos, rr_crossing->pos, arg0->rot[1], 0.0f, gCameraZoom[arg0 - camera1], - 4000000.0f); + f32 unk = + distance_if_visible(arg0->pos, rr_crossing->pos, arg0->rot[1], 0.0f, gCameraZoom[arg0 - camera1], 4000000.0f); if (!(unk < 0.0f)) { mtxf_rotate_zxy_translate(sp40, rr_crossing->pos, rr_crossing->rot); diff --git a/src/actors/school_bus/render.inc.c b/src/actors/school_bus/render.inc.c index 81cccd8c4..577ce7eab 100644 --- a/src/actors/school_bus/render.inc.c +++ b/src/actors/school_bus/render.inc.c @@ -17,8 +17,7 @@ void render_actor_school_bus(Camera* arg0, struct Actor* arg1) { UNUSED s32 pad2[32]; f32 temp_f0; - temp_f0 = - distance_if_visible(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, gCameraZoom[arg0 - camera1], 9000000.0f); + temp_f0 = distance_if_visible(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, gCameraZoom[arg0 - camera1], 9000000.0f); if (temp_f0 < 0.0f) { return; } diff --git a/src/actors/tanker_truck/render.inc.c b/src/actors/tanker_truck/render.inc.c index 1703b99c9..41d08e0d4 100644 --- a/src/actors/tanker_truck/render.inc.c +++ b/src/actors/tanker_truck/render.inc.c @@ -14,8 +14,8 @@ void render_actor_tanker_truck(Camera* camera, struct Actor* arg1) { UNUSED s32 pad[6]; Mat4 spC8; UNUSED s32 pad2[32]; - f32 temp_f0 = distance_if_visible(camera->pos, arg1->pos, camera->rot[1], 2500.0f, - gCameraZoom[camera - camera1], 9000000.0f); + f32 temp_f0 = + distance_if_visible(camera->pos, arg1->pos, camera->rot[1], 2500.0f, gCameraZoom[camera - camera1], 9000000.0f); if (!(temp_f0 < 0.0f)) { diff --git a/src/actors/train/render.inc.c b/src/actors/train/render.inc.c index c5b8dfc7c..8be444f6c 100644 --- a/src/actors/train/render.inc.c +++ b/src/actors/train/render.inc.c @@ -19,8 +19,8 @@ void render_actor_train_engine(Camera* camera, struct TrainCar* actor) { Mat4 spE0; Mat4 spA0; - f32 distance = distance_if_visible(camera->pos, actor->pos, camera->rot[1], 2500.0f, - gCameraZoom[camera - camera1], 9000000.0f); + f32 distance = distance_if_visible(camera->pos, actor->pos, camera->rot[1], 2500.0f, gCameraZoom[camera - camera1], + 9000000.0f); if (distance < 0.0f) { return; @@ -166,8 +166,8 @@ void render_actor_train_tender(Camera* camera, struct TrainCar* actor) { Mat4 spE0; Mat4 spA0; - f32 temp_f0 = distance_if_visible(camera->pos, actor->pos, camera->rot[1], 625.0f, - gCameraZoom[camera - camera1], 9000000.0f); + f32 temp_f0 = + distance_if_visible(camera->pos, actor->pos, camera->rot[1], 625.0f, gCameraZoom[camera - camera1], 9000000.0f); if (temp_f0 < 0.0f) { return; @@ -251,8 +251,8 @@ void render_actor_train_passenger_car(Camera* camera, struct TrainCar* actor) { Mat4 spE0; Mat4 spA0; - f32 temp_f0 = distance_if_visible(camera->pos, actor->pos, camera->rot[1], 2025.0f, - gCameraZoom[camera - camera1], 9000000.0f); + f32 temp_f0 = distance_if_visible(camera->pos, actor->pos, camera->rot[1], 2025.0f, gCameraZoom[camera - camera1], + 9000000.0f); if (temp_f0 < 0.0f) { return; diff --git a/src/actors/trees/render.inc.c b/src/actors/trees/render.inc.c index f7b6cea3a..76a93f795 100644 --- a/src/actors/trees/render.inc.c +++ b/src/actors/trees/render.inc.c @@ -54,8 +54,7 @@ void render_actor_tree_yoshi_valley(Camera* camera, Mat4 arg1, struct Actor* arg return; } - temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + temp_f0 = distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; @@ -89,8 +88,7 @@ void render_actor_tree_royal_raceway(Camera* camera, Mat4 arg1, struct Actor* ar return; } - temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + temp_f0 = distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; @@ -124,8 +122,7 @@ void render_actor_tree_moo_moo_farm(Camera* camera, Mat4 arg1, struct Actor* arg return; } - temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 6250000.0f); + temp_f0 = distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 6250000.0f); if (temp_f0 < 0.0f) { return; @@ -153,8 +150,7 @@ void func_80299864(Camera* camera, Mat4 arg1, struct Actor* arg2) { return; } - temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + temp_f0 = distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; @@ -192,8 +188,7 @@ void render_actor_tree_bowser_castle(Camera* camera, Mat4 arg1, struct Actor* ar return; } - temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + temp_f0 = distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; @@ -227,8 +222,7 @@ void render_actor_bush_bowser_castle(Camera* camera, Mat4 arg1, struct Actor* ar return; } - temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 640000.0f); + temp_f0 = distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 640000.0f); if (temp_f0 < 0.0f) { return; @@ -262,8 +256,7 @@ void render_actor_tree_frappe_snowland(Camera* camera, Mat4 arg1, struct Actor* return; } - temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + temp_f0 = distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; @@ -296,8 +289,7 @@ void render_actor_tree_cactus1_kalimari_desert(Camera* camera, Mat4 arg1, struct return; } - temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + temp_f0 = distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; @@ -330,8 +322,7 @@ void render_actor_tree_cactus2_kalimari_desert(Camera* camera, Mat4 arg1, struct return; } - temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + temp_f0 = distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; @@ -364,8 +355,7 @@ void render_actor_tree_cactus3_kalimari_desert(Camera* camera, Mat4 arg1, struct return; } - temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + temp_f0 = distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; diff --git a/src/actors/yoshi_egg/render.inc.c b/src/actors/yoshi_egg/render.inc.c index c5e0db9b4..56d4ae0ad 100644 --- a/src/actors/yoshi_egg/render.inc.c +++ b/src/actors/yoshi_egg/render.inc.c @@ -20,8 +20,8 @@ void render_actor_yoshi_egg(Camera* arg0, Mat4 arg1, struct YoshiValleyEgg* egg, f32 temp_f0; if (gGamestate != CREDITS_SEQUENCE) { - temp_f0 = distance_if_visible(arg0->pos, egg->pos, arg0->rot[1], 200.0f, gCameraZoom[arg0 - camera1], - 16000000.0f); + temp_f0 = + distance_if_visible(arg0->pos, egg->pos, arg0->rot[1], 200.0f, gCameraZoom[arg0 - camera1], 16000000.0f); if (temp_f0 < 0.0f) { return; } diff --git a/src/audio/external.c b/src/audio/external.c index cf1e55bec..46e99b058 100644 --- a/src/audio/external.c +++ b/src/audio/external.c @@ -2399,11 +2399,12 @@ void func_800C70A8(u8 playerId) { } } -/* - Routine to tell the game which "finish" music to play depending on which mode the player is in (Grand Prix, Time Trials, etc), - whether the game is in multiplayer or not, and which position they ended up finishing in (1st, 2nd, 3rd, etc) +/* + Routine to tell the game which "finish" music to play depending on which mode the player is in (Grand Prix, Time + Trials, etc), whether the game is in multiplayer or not, and which position they ended up finishing in (1st, 2nd, + 3rd, etc) - Contains a LOT of inlined funcs. + Contains a LOT of inlined funcs. Modify if you dare. */ void func_800C76C0(u8 playerId) { @@ -3577,18 +3578,23 @@ void begin_losing_ceremony_sequence() { D_800EA174++; if (D_800EA174 == 3) { - play_sequence(SEQ_EVENT_CEREMONY_PRESENTATION_PART1); // Begin with Part 1 of the ceremony presentation music --- "Everything seems normal..." + play_sequence(SEQ_EVENT_CEREMONY_PRESENTATION_PART1); // Begin with Part 1 of the ceremony presentation + // music --- "Everything seems normal..." func_800C3448(0x4000007F); } if (D_800EA174 == 300) { - play_sequence(SEQ_EVENT_CEREMONY_PRESENTATION_PART2_WIN); // Follow up with Part 2 of the winning ceremony presentation music --- "Looks like I won...?" + play_sequence(SEQ_EVENT_CEREMONY_PRESENTATION_PART2_WIN); // Follow up with Part 2 of the winning ceremony + // presentation music --- "Looks like I won...?" func_800C3448(0x4000007F); - play_sequence2(SEQ_EVENT_CEREMONY_PRESENTATION_PART2_LOSE); // Once it ends, begin the LOSING ceremony presentation music, which has a few notes changed to be off-tune --- "Uh oh..." + play_sequence2(SEQ_EVENT_CEREMONY_PRESENTATION_PART2_LOSE); // Once it ends, begin the LOSING ceremony + // presentation music, which has a few notes + // changed to be off-tune --- "Uh oh..." func_800C3448(0x41000000); } - if (D_800EA174 == 560) { // (Somewhere in this code it slows down the music, changes the pitch of it and completely breaks the music) + if (D_800EA174 == 560) { // (Somewhere in this code it slows down the music, changes the pitch of it and + // completely breaks the music) func_800C3448(0x40640000); func_800C3448(0xB0640073); func_800C3448(0x4150007F); @@ -3608,11 +3614,13 @@ void begin_losing_ceremony_sequence() { func_800C3448(0x41320000); } - if (D_800EA174 == 1200) { // (Player gets hit by the bomb-omb car; play the "explosion" sound effect and the "hurt" voice for the current character) + if (D_800EA174 == 1200) { // (Player gets hit by the bomb-omb car; play the "explosion" sound effect and the + // "hurt" voice for the current character) func_800C3448(0x110100FF); } - if (D_800EA174 == 1230) { // Once the music is completely broken by this point, play the "No Trophy For You!" sequence --- "Aw man, I lost... :(" + if (D_800EA174 == 1230) { // Once the music is completely broken by this point, play the "No Trophy For You!" + // sequence --- "Aw man, I lost... :(" play_sequence(SEQ_EVENT_CEREMONY_TROPHY_LOSE); func_800C3448(0x4000007F); // (Play the "losing" voice for the current character, twice) } diff --git a/src/audio/load.c b/src/audio/load.c index 4277e02d9..1df4f998d 100644 --- a/src/audio/load.c +++ b/src/audio/load.c @@ -787,7 +787,10 @@ void audio_init(void) { #ifdef TARGET_N64 // It seems boot.s doesn't clear the .bss area for audio, so do it here. ptr64 = (u64*) ((u8*) gGfxSPTaskOutputBuffer + sizeof(gGfxSPTaskOutputBuffer)); - for (k = ((uintptr_t) &gAudioGlobalsEndMarker - (uintptr_t) ((u64 *)((u8 *) gGfxSPTaskOutputBuffer + sizeof(gGfxSPTaskOutputBuffer))) ) / 8; k >= 0; k--) { + for (k = ((uintptr_t) &gAudioGlobalsEndMarker - + (uintptr_t) ((u64*) ((u8*) gGfxSPTaskOutputBuffer + sizeof(gGfxSPTaskOutputBuffer)))) / + 8; + k >= 0; k--) { *ptr64++ = 0; } #endif @@ -882,7 +885,7 @@ void audio_init(void) { // Load bank sets for each sequence gAlBankSets = soundAlloc(&gAudioInitPool, 0x100); - audio_dma_copy_immediate((u8 *) &_instrument_setsSegmentRomStart, gAlBankSets, 0x100); + audio_dma_copy_immediate((u8*) &_instrument_setsSegmentRomStart, gAlBankSets, 0x100); sound_alloc_pool_init(&gUnkPool1.pool, soundAlloc(&gAudioInitPool, (u32) D_800EA5D8), (u32) D_800EA5D8); init_sequence_players(); diff --git a/src/audio/load.h b/src/audio/load.h index b815287f7..4e19eabe8 100644 --- a/src/audio/load.h +++ b/src/audio/load.h @@ -9,7 +9,7 @@ #define PRELOAD_BANKS 2 #define PRELOAD_SEQUENCE 1 -#define IS_SEQUENCE_CHANNEL_VALID(ptr) ((uintptr_t) (ptr) != (uintptr_t) &gSequenceChannelNone) +#define IS_SEQUENCE_CHANNEL_VALID(ptr) ((uintptr_t) (ptr) != (uintptr_t) & gSequenceChannelNone) struct SharedDma { /*0x0*/ u8* buffer; // target, points to pre-allocated buffer diff --git a/src/audio/synthesis.c b/src/audio/synthesis.c index bfb2452ae..5d4fdc73a 100644 --- a/src/audio/synthesis.c +++ b/src/audio/synthesis.c @@ -330,13 +330,13 @@ Acmd* synthesis_do_one_audio_update(s16* aiBuf, s32 bufLen, Acmd* acmd, s32 upda Acmd* synthesis_process_note(s32 noteIndex, struct NoteSubEu* noteSubEu, struct NoteSynthesisState* synthesisState, UNUSED s16* aiBuf, s32 inBuf, Acmd* cmd, s32 updateIndex) { s32 pad[3]; - struct AudioBankSample *audioBookSample; // sp130 - struct AdpcmLoop *loopInfo; // sp12C - s16 *curLoadedBook; // sp128 + struct AudioBankSample* audioBookSample; // sp130 + struct AdpcmLoop* loopInfo; // sp12C + s16* curLoadedBook; // sp128 s32 pad4; s32 nSamplesToLoad; s32 noteFinished; // sp11C - s32 restart; // sp118 + s32 restart; // sp118 s32 flags; u16 resamplingRateFixedPoint; // sp112 s32 pad2[1]; @@ -347,22 +347,22 @@ Acmd* synthesis_process_note(s32 noteIndex, struct NoteSubEu* noteSubEu, struct s32 pad3; s32 nAdpcmSamplesProcessed; s32 s4; - u8 *sampleAddr; // spEC + u8* sampleAddr; // spEC s32 s3; s32 samplesLenAdjusted; // spE4 s32 leftRight; - s32 endPos; // spDC + s32 endPos; // spDC s32 nSamplesToProcess; // spD8 u32 samplesLenFixedPoint; s32 var_s6; s32 nSamplesInThisIteration; u32 var_t2; - u8 *var_a0_2; + u8* var_a0_2; s32 s5Aligned; s32 temp_t6; s32 aligned; - struct AudioBankSample *bankSample; - s32 nParts; // spB0 + struct AudioBankSample* bankSample; + s32 nParts; // spB0 s32 curPart; // spAC s32 pad5; s16 addr; @@ -371,7 +371,7 @@ Acmd* synthesis_process_note(s32 noteIndex, struct NoteSubEu* noteSubEu, struct s32 samplesRemaining; s32 s1; u32 nEntries; - struct Note *note; + struct Note* note; curLoadedBook = NULL; note = &gNotes[noteIndex]; @@ -420,7 +420,7 @@ Acmd* synthesis_process_note(s32 noteIndex, struct NoteSubEu* noteSubEu, struct if (curLoadedBook != (*bankSample->book).book) { curLoadedBook = bankSample->book->book; nEntries = (16 * bankSample->book->order) * bankSample->book->npredictors; - aLoadADPCM(cmd++, nEntries, VIRTUAL_TO_PHYSICAL2(noteSubEu->bookOffset+curLoadedBook)); + aLoadADPCM(cmd++, nEntries, VIRTUAL_TO_PHYSICAL2(noteSubEu->bookOffset + curLoadedBook)); } if (noteSubEu->bookOffset != 0) { curLoadedBook = &gUnknownData_800F6290[0]; @@ -567,7 +567,8 @@ Acmd* synthesis_process_note(s32 noteIndex, struct NoteSubEu* noteSubEu, struct noteSubEu->needsInit = false; } - cmd = final_resample(cmd, synthesisState, inBuf * 2, resamplingRateFixedPoint, noteSamplesDmemAddrBeforeResampling, flags); + cmd = final_resample(cmd, synthesisState, inBuf * 2, resamplingRateFixedPoint, noteSamplesDmemAddrBeforeResampling, + flags); headsetPanRight = noteSubEu->headsetPanRight; if ((headsetPanRight & 0xFFFF) || synthesisState->prevHeadsetPanRight) { leftRight = 1; @@ -619,13 +620,13 @@ Acmd* func_800B86A0(Acmd* cmd, struct NoteSubEu* note, struct NoteSynthesisState sourceLeft = synthesisState->curVolLeft; sourceRight = synthesisState->curVolRight; - + targetLeft = (note->targetVolLeft) << 4; targetRight = (note->targetVolRight) << 4; - rampLeft = ((targetLeft - sourceLeft) / (nSamples >> 3)); + rampLeft = ((targetLeft - sourceLeft) / (nSamples >> 3)); rampRight = ((targetRight - sourceRight) / (nSamples >> 3)); - targetLeft = sourceLeft + rampLeft * (nSamples >> 3); + targetLeft = sourceLeft + rampLeft * (nSamples >> 3); targetRight = sourceRight + rampRight * (nSamples >> 3); synthesisState->curVolLeft = targetLeft; @@ -633,52 +634,29 @@ Acmd* func_800B86A0(Acmd* cmd, struct NoteSubEu* note, struct NoteSynthesisState if (note->usesHeadsetPanEffects) { aClearBuffer(cmd++, DMEM_ADDR_NOTE_PAN_TEMP, DEFAULT_LEN_1CH); - aEnvSetup1Alt(cmd++, note->reverbVol, sourceLeft, sourceRight, (u32)rampLeft, (u32)rampRight); + aEnvSetup1Alt(cmd++, note->reverbVol, sourceLeft, sourceRight, (u32) rampLeft, (u32) rampRight); aEnvSetup2(cmd++, sourceLeft, sourceRight); - switch (headsetPanSettings) {; + switch (headsetPanSettings) { + ; case 1: - aEnvMixer(cmd++, - inBuf, nSamples, - 0, - note->stereoStrongRight, note->stereoStrongLeft, - DMEM_ADDR_NOTE_PAN_TEMP, - DMEM_ADDR_RIGHT_CH, - DMEM_ADDR_WET_LEFT_CH, - DMEM_ADDR_WET_RIGHT_CH); + aEnvMixer(cmd++, inBuf, nSamples, 0, note->stereoStrongRight, note->stereoStrongLeft, + DMEM_ADDR_NOTE_PAN_TEMP, DMEM_ADDR_RIGHT_CH, DMEM_ADDR_WET_LEFT_CH, DMEM_ADDR_WET_RIGHT_CH); break; case 2: - aEnvMixer(cmd++, - inBuf, nSamples, - 0, - note->stereoStrongRight, note->stereoStrongLeft, - DMEM_ADDR_LEFT_CH, - DMEM_ADDR_NOTE_PAN_TEMP, - DMEM_ADDR_WET_LEFT_CH, - DMEM_ADDR_WET_RIGHT_CH); + aEnvMixer(cmd++, inBuf, nSamples, 0, note->stereoStrongRight, note->stereoStrongLeft, DMEM_ADDR_LEFT_CH, + DMEM_ADDR_NOTE_PAN_TEMP, DMEM_ADDR_WET_LEFT_CH, DMEM_ADDR_WET_RIGHT_CH); break; default: - aEnvMixer(cmd++, - inBuf, nSamples, - 0, - note->stereoStrongRight, note->stereoStrongLeft, - DMEM_ADDR_LEFT_CH, - DMEM_ADDR_RIGHT_CH, - DMEM_ADDR_WET_LEFT_CH, - DMEM_ADDR_WET_RIGHT_CH); + aEnvMixer(cmd++, inBuf, nSamples, 0, note->stereoStrongRight, note->stereoStrongLeft, DMEM_ADDR_LEFT_CH, + DMEM_ADDR_RIGHT_CH, DMEM_ADDR_WET_LEFT_CH, DMEM_ADDR_WET_RIGHT_CH); break; } } else { - aEnvSetup1Alt(cmd++, note->reverbVol, sourceLeft, sourceRight, (u32)rampLeft, (u32)rampRight); + aEnvSetup1Alt(cmd++, note->reverbVol, sourceLeft, sourceRight, (u32) rampLeft, (u32) rampRight); aEnvSetup2(cmd++, sourceLeft, sourceRight); - aEnvMixer(cmd++, - inBuf, nSamples, - 0, - note->stereoStrongRight, note->stereoStrongLeft, - DMEM_ADDR_LEFT_CH, - DMEM_ADDR_RIGHT_CH, - DMEM_ADDR_WET_LEFT_CH, - DMEM_ADDR_WET_RIGHT_CH); + aEnvMixer(cmd++, inBuf, nSamples, 0, note->stereoStrongRight, note->stereoStrongLeft, DMEM_ADDR_LEFT_CH, + DMEM_ADDR_RIGHT_CH, DMEM_ADDR_WET_LEFT_CH, DMEM_ADDR_WET_RIGHT_CH); } return cmd; } diff --git a/src/code_80057C60.c b/src/code_80057C60.c index 5585e7e7b..385dc8ae9 100644 --- a/src/code_80057C60.c +++ b/src/code_80057C60.c @@ -2851,12 +2851,12 @@ void set_drift_particles(Player* player, s16 arg1, UNUSED s32 arg2, UNUSED s8 ar if (player->unk_0C0 >= 0) { set_particle_position_and_rotation(player, &player->particlePool1[arg1], player->tyres[BACK_LEFT].pos[0], - player->tyres[BACK_LEFT].baseHeight + 2.0f, player->tyres[BACK_LEFT].pos[2], - player->tyres[BACK_LEFT].surfaceType, 1); + player->tyres[BACK_LEFT].baseHeight + 2.0f, player->tyres[BACK_LEFT].pos[2], + player->tyres[BACK_LEFT].surfaceType, 1); } else { set_particle_position_and_rotation(player, &player->particlePool1[arg1], player->tyres[BACK_RIGHT].pos[0], - player->tyres[BACK_RIGHT].baseHeight + 2.0f, player->tyres[BACK_RIGHT].pos[2], - player->tyres[BACK_RIGHT].surfaceType, 0); + player->tyres[BACK_RIGHT].baseHeight + 2.0f, + player->tyres[BACK_RIGHT].pos[2], player->tyres[BACK_RIGHT].surfaceType, 0); } temp_lo = player->unk_0C0 / 182; @@ -2932,7 +2932,8 @@ void setup_tyre_particles(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UN if ((arg1 == 0) && ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { if (((player->speed / 18.0f) * 216.0f) >= 10.0f) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, + (s8) surfaceType, (s8) var_t3); init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); if ((gCurrentCourseId == COURSE_CHOCO_MOUNTAIN) || (gCurrentCourseId == COURSE_ROYAL_RACEWAY)) { func_8005DAD8(&player->particlePool1[arg1], 1, 0, 0x0080); @@ -2955,7 +2956,8 @@ void setup_tyre_particles(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UN player->particlePool1[arg1].green = random_int(0x0010U); } } else if ((player->particlePool1[arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, + (s8) surfaceType, (s8) var_t3); init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); if ((gCurrentCourseId == COURSE_CHOCO_MOUNTAIN) || (gCurrentCourseId == COURSE_ROYAL_RACEWAY)) { func_8005DAD8(&player->particlePool1[arg1], 1, 0, 0x0080); @@ -2982,7 +2984,8 @@ void setup_tyre_particles(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UN if ((arg1 == 0) && ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { if (((player->speed / 18.0f) * 216.0f) >= 10.0f) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, + (s8) surfaceType, (s8) var_t3); init_particle_player(&player->particlePool1[arg1], GRASS_PARTICLE, 1.0f); set_particle_colour(&player->particlePool1[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x00FF); player->particlePool1[arg1].red -= arg1 * 8; @@ -2990,7 +2993,8 @@ void setup_tyre_particles(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UN player->particlePool1[arg1].blue -= arg1 * 8; } } else if ((player->particlePool1[arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, + (s8) surfaceType, (s8) var_t3); init_particle_player(&player->particlePool1[arg1], GRASS_PARTICLE, 1.0f); set_particle_colour(&player->particlePool1[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x00FF); player->particlePool1[arg1].red -= arg1 * 8; @@ -3003,13 +3007,15 @@ void setup_tyre_particles(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UN if ((arg1 == 0) && ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { if (((player->speed / 18.0f) * 216.0f) >= 10.0f) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, + (s8) surfaceType, (s8) var_t3); init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 2, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); } } else if ((player->particlePool1[arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, + (s8) surfaceType, (s8) var_t3); init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 2, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); @@ -3019,13 +3025,15 @@ void setup_tyre_particles(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UN if ((arg1 == 0) && ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { if (((player->speed / 18.0f) * 216.0f) >= 10.0f) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, + (s8) surfaceType, (s8) var_t3); init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 3, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); } } else if ((player->particlePool1[arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, + (s8) surfaceType, (s8) var_t3); init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 3, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); @@ -3035,13 +3043,15 @@ void setup_tyre_particles(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UN if ((arg1 == 0) && ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { if (((player->speed / 18.0f) * 216.0f) >= 10.0f) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, + (s8) surfaceType, (s8) var_t3); init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 4, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); } } else if ((player->particlePool1[arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, + (s8) surfaceType, (s8) var_t3); init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 4, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); @@ -3051,13 +3061,15 @@ void setup_tyre_particles(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UN if ((arg1 == 0) && ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { if (((player->speed / 18.0f) * 216.0f) >= 10.0f) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, + (s8) surfaceType, (s8) var_t3); init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 5, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); } } else if ((player->particlePool1[arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, + (s8) surfaceType, (s8) var_t3); init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); func_8005D82C(&player->particlePool1[arg1], 0x00FFA54F, 0x00AF); func_8005DAD8(&player->particlePool1[arg1], 5, 1, 0x00A8); @@ -3069,13 +3081,15 @@ void setup_tyre_particles(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UN if ((arg1 == 0) && ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { if (((player->speed / 18.0f) * 216.0f) >= 10.0f) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, + (s8) surfaceType, (s8) var_t3); init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 6, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); } } else if ((player->particlePool1[arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, + (s8) surfaceType, (s8) var_t3); init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 6, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); @@ -3089,7 +3103,8 @@ void setup_tyre_particles(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UN if (((((player->speed / 18.0f) * 216.0f) >= 30.0f) && ((((player->unk_0C0 / 182) > 0x14) || ((player->unk_0C0 / 182) < (-0x14))))) || ((player->previousSpeed - player->speed) >= 0.04)) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, + (s8) surfaceType, (s8) var_t3); init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 0, 0, 0x0080); player->particlePool1[arg1].green = random_int(0x0010U); @@ -3098,7 +3113,8 @@ void setup_tyre_particles(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UN (((((player->speed / 18.0f) * 216.0f) >= 30.0f) && (((player->unk_0C0 / 182) >= 0x15) || ((player->unk_0C0 / 182) < -0x14))) || ((player->previousSpeed - player->speed) >= 0.04))) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, + (s8) surfaceType, (s8) var_t3); init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 0, 0, 0x0080); player->particlePool1[arg1].green = random_int(0x0010U); @@ -3232,14 +3248,16 @@ void func_8005ED48(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 case GRASS: if ((arg1 == 0) && ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, + (s8) var_t3); init_particle_player(&player->particlePool1[arg1], 5, 0.1f); set_particle_colour(&player->particlePool1[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x00FF); player->particlePool1[arg1].red -= arg1 * 8; player->particlePool1[arg1].green -= arg1 * 8; player->particlePool1[arg1].blue -= arg1 * 8; } else if (player->particlePool1[arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, + (s8) var_t3); init_particle_player(&player->particlePool1[arg1], 5, 0.1f); set_particle_colour(&player->particlePool1[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x00FF); player->particlePool1[arg1].red -= arg1 * 8; @@ -3251,12 +3269,14 @@ void func_8005ED48(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 case SAND_OFFROAD: if ((arg1 == 0) && ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, + (s8) var_t3); init_particle_player(&player->particlePool1[arg1], 5, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 2, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); } else if (player->particlePool1[arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, + (s8) var_t3); init_particle_player(&player->particlePool1[arg1], 5, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 2, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); @@ -3265,12 +3285,14 @@ void func_8005ED48(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 case SAND: if ((arg1 == 0) && ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, + (s8) var_t3); init_particle_player(&player->particlePool1[arg1], 5, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 3, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); } else if (player->particlePool1[arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, + (s8) var_t3); init_particle_player(&player->particlePool1[arg1], 5, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 3, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); @@ -3279,12 +3301,14 @@ void func_8005ED48(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 case WET_SAND: if ((arg1 == 0) && ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, + (s8) var_t3); init_particle_player(&player->particlePool1[arg1], 5, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 4, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); } else if (player->particlePool1[arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, + (s8) var_t3); init_particle_player(&player->particlePool1[arg1], 5, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 4, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); @@ -3293,12 +3317,14 @@ void func_8005ED48(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 case DIRT_OFFROAD: if ((arg1 == 0) && ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, + (s8) var_t3); init_particle_player(&player->particlePool1[arg1], 5, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 5, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); } else if (player->particlePool1[arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, + (s8) var_t3); init_particle_player(&player->particlePool1[arg1], 5, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 5, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); @@ -3308,12 +3334,14 @@ void func_8005ED48(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 case SNOW_OFFROAD: if ((arg1 == 0) && ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, + (s8) var_t3); init_particle_player(&player->particlePool1[arg1], 5, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 6, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); } else if (player->particlePool1[arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, + (s8) var_t3); init_particle_player(&player->particlePool1[arg1], 5, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 6, 1, 0x00A8); player->particlePool1[arg1].green = random_int(0x0010U); @@ -3324,12 +3352,14 @@ void func_8005ED48(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 case BRIDGE: if ((arg1 == 0) && ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, + (s8) var_t3); init_particle_player(&player->particlePool1[arg1], 5, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 0, 0, 0x0080); player->particlePool1[arg1].green = random_int(0x0010U); } else if (player->particlePool1[arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, + (s8) var_t3); init_particle_player(&player->particlePool1[arg1], 5, 0.46f); func_8005DAD8(&player->particlePool1[arg1], 0, 0, 0x0080); player->particlePool1[arg1].green = random_int(0x0010U); @@ -3897,9 +3927,9 @@ void func_80061EF4(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 y = player->pos[1]; } if (var_t0 == 0) { - if ((arg1 == 0) && - ((player->particlePool3[arg2].timer > 0) || (player->particlePool3[arg2].isAlive == 0))) { - set_particle_position_and_rotation(player, &player->particlePool3[arg1], 0.0f, y, 0.0f, (s8) var_t0, (s8) var_t1); + if ((arg1 == 0) && ((player->particlePool3[arg2].timer > 0) || (player->particlePool3[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool3[arg1], 0.0f, y, 0.0f, (s8) var_t0, + (s8) var_t1); init_particle_player(&player->particlePool3[arg1], 3, 0.5f); set_particle_colour(&player->particlePool3[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x0060); player->particlePool3[arg1].rotation = 0; @@ -3915,7 +3945,8 @@ void func_80061EF4(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 player->pos[0] + (sins(player->particlePool3[arg1].rotation - player->rotation[1] - player->unk_0C0) * 5.0f); } else if (player->particlePool3[arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particlePool3[arg1], 0.0f, y, 0.0f, (s8) var_t0, (s8) var_t1); + set_particle_position_and_rotation(player, &player->particlePool3[arg1], 0.0f, y, 0.0f, (s8) var_t0, + (s8) var_t1); init_particle_player(&player->particlePool3[arg1], 3, 0.5f); set_particle_colour(&player->particlePool3[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x0060); player->particlePool3[arg1].rotation = 0; @@ -6378,7 +6409,7 @@ void func_8006CEC0(Player* arg0, s16 arg1, s8 playerId, s8 arg3) { if (--sp20 < 0) { sp20 = 9; } - // Spawn particles when oob + // Spawn particles when oob if (arg0->particlePool0[arg1].isAlive == 1) { switch (arg0->particlePool0[arg1].type) { case 1: @@ -6439,7 +6470,7 @@ void func_8006CEC0(Player* arg0, s16 arg1, s8 playerId, s8 arg3) { func_80060504(arg0, arg1, sp20, playerId, arg3); } } - break; + break; } } } @@ -6524,9 +6555,11 @@ void func_8006D474(Player* player, s8 playerId, s8 screenId) { break; case 2: if (gActiveScreenMode == SCREEN_MODE_1P) { - render_wall_bonk_star_particles(player, playerId, var_s2, screenId, player->particlePool3[var_s2].scale); + render_wall_bonk_star_particles(player, playerId, var_s2, screenId, + player->particlePool3[var_s2].scale); } else if (screenId == playerId) { - render_wall_bonk_star_particles(player, playerId, var_s2, screenId, player->particlePool3[var_s2].scale); + render_wall_bonk_star_particles(player, playerId, var_s2, screenId, + player->particlePool3[var_s2].scale); } break; case 3: diff --git a/src/code_8006E9C0.c b/src/code_8006E9C0.c index 437580da1..a7b06c6f2 100644 --- a/src/code_8006E9C0.c +++ b/src/code_8006E9C0.c @@ -420,7 +420,7 @@ void func_8006F8CC(void) { void func_8006FA94(void) { s32 i; - Player *player; + Player* player; func_8006F8CC(); track_minimap_settings(); @@ -440,69 +440,69 @@ void func_8006FA94(void) { D_801658BC = D_801658C6 = D_801658CE = D_801658DC = D_801658EC = D_801658F4 = D_801658E4 = D_801658D6 = 0; switch (gPlayerCount) { - case 1: - if (gModeSelection == GRAND_PRIX) { - D_8018D114 = 0; - D_8018D178 = 150; - D_8018D180 = 240; - } else { - D_8018D114 = 1; - D_8018D178 = 10; - D_8018D180 = 0; - } - break; - case 2: - if (gScreenModeSelection == SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL) { + case 1: if (gModeSelection == GRAND_PRIX) { - D_8018D114 = 2; + D_8018D114 = 0; D_8018D178 = 150; D_8018D180 = 240; - D_8018D2AC = 60; - } else if (gModeSelection == VERSUS) { - D_8018D114 = 3; - D_8018D178 = 30; - D_8018D180 = 30; - D_8018D2AC = 60; } else { - D_8018D114 = 4; - D_8018D178 = 40; - D_8018D180 = 40; - D_8018D2AC = 60; + D_8018D114 = 1; + D_8018D178 = 10; + D_8018D180 = 0; } - } else if (gModeSelection == GRAND_PRIX) { - D_8018D114 = 5; - } else if (gModeSelection == VERSUS) { - D_8018D114 = 6; - } else { - D_8018D114 = 7; - } - break; - case 3: - if (gModeSelection == VERSUS) { - D_8018D114 = 8; - D_8018D178 = 0x00000064; - D_8018D180 = 0x00000096; - D_8018D2AC = 0x0000003C; - } else { - D_8018D114 = 9; - D_8018D178 = 0x00000064; - D_8018D180 = 0x00000096; - D_8018D2AC = 0x0000003C; - } - break; - case 4: - if (gModeSelection == VERSUS) { - D_8018D114 = 0x0000000A; - D_8018D178 = 0x0000001E; - D_8018D180 = 0x0000001E; - D_8018D2AC = 0x0000000A; - } else { - D_8018D114 = 0x0000000B; - D_8018D178 = 0x0000001E; - D_8018D180 = 0x0000001E; - D_8018D2AC = 0x0000000A; - } - break; + break; + case 2: + if (gScreenModeSelection == SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL) { + if (gModeSelection == GRAND_PRIX) { + D_8018D114 = 2; + D_8018D178 = 150; + D_8018D180 = 240; + D_8018D2AC = 60; + } else if (gModeSelection == VERSUS) { + D_8018D114 = 3; + D_8018D178 = 30; + D_8018D180 = 30; + D_8018D2AC = 60; + } else { + D_8018D114 = 4; + D_8018D178 = 40; + D_8018D180 = 40; + D_8018D2AC = 60; + } + } else if (gModeSelection == GRAND_PRIX) { + D_8018D114 = 5; + } else if (gModeSelection == VERSUS) { + D_8018D114 = 6; + } else { + D_8018D114 = 7; + } + break; + case 3: + if (gModeSelection == VERSUS) { + D_8018D114 = 8; + D_8018D178 = 0x00000064; + D_8018D180 = 0x00000096; + D_8018D2AC = 0x0000003C; + } else { + D_8018D114 = 9; + D_8018D178 = 0x00000064; + D_8018D180 = 0x00000096; + D_8018D2AC = 0x0000003C; + } + break; + case 4: + if (gModeSelection == VERSUS) { + D_8018D114 = 0x0000000A; + D_8018D178 = 0x0000001E; + D_8018D180 = 0x0000001E; + D_8018D2AC = 0x0000000A; + } else { + D_8018D114 = 0x0000000B; + D_8018D178 = 0x0000001E; + D_8018D180 = 0x0000001E; + D_8018D2AC = 0x0000000A; + } + break; } if (gEnableDebugMode == 0) { D_8016576A = 0; diff --git a/src/code_800AF9B0.c b/src/code_800AF9B0.c index 054cdf922..dcb67657e 100644 --- a/src/code_800AF9B0.c +++ b/src/code_800AF9B0.c @@ -111,7 +111,7 @@ void func_800AFC54(Vtx* vtx, s32 a, s32 b, s32 c, Vec3s out) { dx = ((varB2 - varA2) * (varC4 - varB4)) - ((varB4 - varA4) * (varC2 - varB2)); dy = ((varB4 - varA4) * (varC0 - varB0)) - ((varB0 - varA0) * (varC4 - varB4)); dz = ((varB0 - varA0) * (varC2 - varB2)) - ((varB2 - varA2) * (varC0 - varB0)); - + length = sqrtf((dx * dx) + (dy * dy) + (dz * dz)); if (length < 0.001) { @@ -163,7 +163,7 @@ void func_800AFF58(Vtx* arg0) { } void func_800B0004(void) { - Vtx *vtxs; + Vtx* vtxs; s32 res1; s32 res2; UNUSED u32 pad[0x4]; @@ -176,16 +176,17 @@ void func_800B0004(void) { gSPLight(gDisplayListHead++, VIRTUAL_TO_PHYSICAL2(&D_800E8680), LIGHT_2); gSPNumLights(gDisplayListHead++, NUMLIGHTS_1); gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH); - gDPSetCombineLERP(gDisplayListHead++, PRIMITIVE, 0, SHADE, 0, 0, 0, 0, SHADE, PRIMITIVE, 0, SHADE, 0, 0, 0, 0, SHADE); + gDPSetCombineLERP(gDisplayListHead++, PRIMITIVE, 0, SHADE, 0, 0, 0, 0, SHADE, PRIMITIVE, 0, SHADE, 0, 0, 0, 0, + SHADE); gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); gSPSetGeometryMode(gDisplayListHead++, G_LIGHTING); vtxs = (D_8018EDB4 % 2) ? (D_8018EDB8) : (D_8018EDBC); D_8018EDB2 = 0x9C0; for (i = 0; i < 10; i++) { for (k = 0, j = 0; j < 12; j++, k += 84) { - res1 = ((sins(D_8018EDB0 - (j * D_8018EDB2)) * 84.0f) * j) * 0.18f; - res2 = ((sins(D_8018EDB0 - ((j + 1) * D_8018EDB2)) * 84.0f) * (j + 1)) * 0.18f; - func_800AF9E4(&(&vtxs[j * idx])[i * 48], j, i, 84, res1, res2, k, 84); + res1 = ((sins(D_8018EDB0 - (j * D_8018EDB2)) * 84.0f) * j) * 0.18f; + res2 = ((sins(D_8018EDB0 - ((j + 1) * D_8018EDB2)) * 84.0f) * (j + 1)) * 0.18f; + func_800AF9E4(&(&vtxs[j * idx])[i * 48], j, i, 84, res1, res2, k, 84); } } diff --git a/src/cpu_vehicles_camera_path.c b/src/cpu_vehicles_camera_path.c index 5774acdac..e1e9839d3 100644 --- a/src/cpu_vehicles_camera_path.c +++ b/src/cpu_vehicles_camera_path.c @@ -1406,7 +1406,6 @@ void update_player(s32 playerId) { s16 angle; s16 steeringSensitivity; - s32 maxAngle; Player* player; UNUSED s32 pad3[10]; @@ -1640,7 +1639,12 @@ void update_player(s32 playerId) { pathIndex %= gSelectedPathCount; set_track_offset_position(pathIndex, -0.7f, gPlayerPathIndex); } - if (1) { } if (1) { } if (1) { } if (1) { } if (1) { } if (1) { } + if (1) {} + if (1) {} + if (1) {} + if (1) {} + if (1) {} + if (1) {} if (gPlayerPathIndex == 0) { func_8000B140(playerId); if (D_80162FF8[playerId] > 0) { @@ -1846,7 +1850,6 @@ void func_8000B140(s32 playerId) { sp74[j] = temp_f2 - temp_f0_2; j++; } - } } } @@ -1866,7 +1869,7 @@ void func_8000B140(s32 playerId) { temp_f2 = gTrackPositionFactor[sp9C[i]]; if ((temp_f2 > (-1.0f)) && (temp_f2 < 1.0f)) { - temp_f12 = temp_ft2 = ((0.2f * (20.0f / (spB0[i] + 20.0f))) * ((sp74[i]) + 10.0f)) / 20.0f; + temp_f12 = temp_ft2 = ((0.2f * (20.0f / (spB0[i] + 20.0f))) * ((sp74[i]) + 10.0f)) / 20.0f; if ((var_f18 == 1.0f) && (var_f20 == (-1.0f))) { var_f18 = temp_f2 - temp_f12; @@ -2855,12 +2858,14 @@ void func_80017054(Camera* camera, UNUSED Player* player, UNUSED s32 index, s32 sp58 = gPathCountByPathIndex[pathIndex]; D_80163238 = playerId; sp56 = gNearestPathPointByCameraId[cameraId]; - gNearestPathPointByCameraId[cameraId] = func_8000D33C(camera->pos[0], camera->pos[1], camera->pos[2], gNearestPathPointByCameraId[cameraId], pathIndex); + gNearestPathPointByCameraId[cameraId] = + func_8000D33C(camera->pos[0], camera->pos[1], camera->pos[2], gNearestPathPointByCameraId[cameraId], pathIndex); if (gCurrentCourseId == 4) { if ((sp56 != gNearestPathPointByCameraId[cameraId]) && (gNearestPathPointByCameraId[cameraId] == 1)) { D_80163DD8[cameraId] = random_int(4); pathIndex = D_80163DD8[cameraId]; - gNearestPathPointByCameraId[cameraId] = func_8000D33C(camera->pos[0], camera->pos[1], camera->pos[2], gNearestPathPointByCameraId[cameraId], pathIndex); + gNearestPathPointByCameraId[cameraId] = func_8000D33C(camera->pos[0], camera->pos[1], camera->pos[2], + gNearestPathPointByCameraId[cameraId], pathIndex); } } sp6E = (gNearestPathPointByCameraId[cameraId] + 0xA) % sp58; @@ -3885,10 +3890,10 @@ void cpu_use_item_strategy(s32 playerId) { bool isValidBanana2; // Only used in this function -#define BANANA_ACTOR(actor) ((struct BananaActor*)(actor)) -#define SHELL_ACTOR(actor) ((struct ShellActor*)(actor)) -#define FAKE_ITEMBOX_ACTOR(actor) ((struct FakeItemBox*)(actor)) -#define BANANA_BUNCH_ACTOR(actor) ((struct BananaBunchParent*)(actor)) +#define BANANA_ACTOR(actor) ((struct BananaActor*) (actor)) +#define SHELL_ACTOR(actor) ((struct ShellActor*) (actor)) +#define FAKE_ITEMBOX_ACTOR(actor) ((struct FakeItemBox*) (actor)) +#define BANANA_BUNCH_ACTOR(actor) ((struct BananaBunchParent*) (actor)) if (gModeSelection == TIME_TRIALS) { return; @@ -3907,9 +3912,9 @@ void cpu_use_item_strategy(s32 playerId) { cpuStrategy->actorIndex = -1; if ((((playerId * 20) + 100) < gNumPathPointsTraversed[playerId]) && (cpuStrategy->timer >= 0x259) && (cpuStrategy->numItemUse < 3) && (gLapCountByPlayerId[playerId] < 3)) { - cpu_decisions_branch_item(playerId, &cpuStrategy->branch, - cpu_gen_random_item((s16) gLapCountByPlayerId[playerId], - gGPCurrentRaceRankByPlayerId[playerId])); + cpu_decisions_branch_item( + playerId, &cpuStrategy->branch, + cpu_gen_random_item((s16) gLapCountByPlayerId[playerId], gGPCurrentRaceRankByPlayerId[playerId])); } else { func_8001ABE0(playerId, cpuStrategy); } @@ -3917,28 +3922,30 @@ void cpu_use_item_strategy(s32 playerId) { case CPU_STRATEGY_ITEM_BANANA: // never true - if ((gLapCountByPlayerId[playerId] > 0) && (gGPCurrentRaceRankByPlayerId[playerId] > gGPCurrentRaceRankByPlayerId[gBestRankedHumanPlayer]) && (gGPCurrentRaceRankByPlayerId[gBestRankedHumanPlayer] == FIRST_PLACE)) { + if ((gLapCountByPlayerId[playerId] > 0) && + (gGPCurrentRaceRankByPlayerId[playerId] > gGPCurrentRaceRankByPlayerId[gBestRankedHumanPlayer]) && + (gGPCurrentRaceRankByPlayerId[gBestRankedHumanPlayer] == FIRST_PLACE)) { switch (player->characterId) { case DK: if (is_path_point_in_range(gNearestPathPointByPlayerId[playerId], - gNearestPathPointByPlayerId[gBestRankedHumanPlayer], 40, 2, - gSelectedPathCount) > 0) { + gNearestPathPointByPlayerId[gBestRankedHumanPlayer], 40, 2, + gSelectedPathCount) > 0) { cpuStrategy->branch = CPU_STRATEGY_THROW_BANANA; } break; case PEACH: if (is_path_point_in_range(gNearestPathPointByPlayerId[playerId], - gNearestPathPointByPlayerId[gBestRankedHumanPlayer], 4, 2, - gSelectedPathCount) > 0) { + gNearestPathPointByPlayerId[gBestRankedHumanPlayer], 4, 2, + gSelectedPathCount) > 0) { cpuStrategy->branch = CPU_STRATEGY_THROW_BANANA; } break; default: if (is_path_point_in_range(gNearestPathPointByPlayerId[playerId], - gNearestPathPointByPlayerId[gBestRankedHumanPlayer], 10, 2, - gSelectedPathCount) > 0) { + gNearestPathPointByPlayerId[gBestRankedHumanPlayer], 10, 2, + gSelectedPathCount) > 0) { cpuStrategy->branch = CPU_STRATEGY_THROW_BANANA; } break; @@ -3960,8 +3967,8 @@ void cpu_use_item_strategy(s32 playerId) { case CPU_STRATEGY_HOLD_BANANA: actor = &gActorList[cpuStrategy->actorIndex]; - if ((!(BANANA_ACTOR(actor)->flags & 0x8000)) || (BANANA_ACTOR(actor)->type != ACTOR_BANANA) || (BANANA_ACTOR(actor)->state != HELD_BANANA) || - (playerId != BANANA_ACTOR(actor)->playerId)) { + if ((!(BANANA_ACTOR(actor)->flags & 0x8000)) || (BANANA_ACTOR(actor)->type != ACTOR_BANANA) || + (BANANA_ACTOR(actor)->state != HELD_BANANA) || (playerId != BANANA_ACTOR(actor)->playerId)) { // FAKE if (!(BANANA_ACTOR(actor)->flags & 0x8000)) {} @@ -3980,7 +3987,7 @@ void cpu_use_item_strategy(s32 playerId) { case CPU_STRATEGY_DROP_BANANA: actor = &gActorList[cpuStrategy->actorIndex]; if ((((!(BANANA_ACTOR(actor)->flags & 0x8000)) || (BANANA_ACTOR(actor)->type != ACTOR_BANANA)) || - (BANANA_ACTOR(actor)->state != HELD_BANANA)) || + (BANANA_ACTOR(actor)->state != HELD_BANANA)) || (playerId != BANANA_ACTOR(actor)->playerId)) { // FAKE @@ -4016,7 +4023,7 @@ void cpu_use_item_strategy(s32 playerId) { cpuStrategy->numItemUse += 1; pathPoint = &gTrackPaths[gPathIndexByPlayerId[0]] [(gNearestPathPointByPlayerId[gBestRankedHumanPlayer] + 30) % - gPathCountByPathIndex[gPathIndexByPlayerId[gBestRankedHumanPlayer]]]; + gPathCountByPathIndex[gPathIndexByPlayerId[gBestRankedHumanPlayer]]]; BANANA_ACTOR(actor)->velocity[0] = (pathPoint->posX - player->pos[0]) / 20.0; BANANA_ACTOR(actor)->velocity[1] = ((pathPoint->posY - player->pos[1]) / 20.0) + 4.0; BANANA_ACTOR(actor)->velocity[2] = (pathPoint->posZ - player->pos[2]) / 20.0; @@ -4032,7 +4039,7 @@ void cpu_use_item_strategy(s32 playerId) { case CPU_STRATEGY_HOLD_THROW_BANANA: actor = &gActorList[cpuStrategy->actorIndex]; if ((((!(BANANA_ACTOR(actor)->flags & 0x8000)) || (BANANA_ACTOR(actor)->type != ACTOR_BANANA)) || - (BANANA_ACTOR(actor)->state != BANANA_ON_GROUND)) || + (BANANA_ACTOR(actor)->state != BANANA_ON_GROUND)) || (playerId != BANANA_ACTOR(actor)->playerId)) { // FAKE @@ -4058,7 +4065,7 @@ void cpu_use_item_strategy(s32 playerId) { case CPU_STRATEGY_END_THROW_BANANA: actor = &gActorList[cpuStrategy->actorIndex]; if ((((!(BANANA_ACTOR(actor)->flags & 0x8000)) || (BANANA_ACTOR(actor)->type != ACTOR_BANANA)) || - (BANANA_ACTOR(actor)->state != BANANA_ON_GROUND)) || + (BANANA_ACTOR(actor)->state != BANANA_ON_GROUND)) || (playerId != BANANA_ACTOR(actor)->playerId)) { // FAKE @@ -4073,7 +4080,8 @@ void cpu_use_item_strategy(s32 playerId) { BANANA_ACTOR(actor)->velocity[1] = 0.0f; BANANA_ACTOR(actor)->velocity[2] = 0.0f; BANANA_ACTOR(actor)->pos[1] = - get_surface_height(BANANA_ACTOR(actor)->pos[0], BANANA_ACTOR(actor)->pos[1] + 30.0, BANANA_ACTOR(actor)->pos[2]) + + get_surface_height(BANANA_ACTOR(actor)->pos[0], BANANA_ACTOR(actor)->pos[1] + 30.0, + BANANA_ACTOR(actor)->pos[2]) + (BANANA_ACTOR(actor)->boundingBoxSize + 1.0f); } player->triggers &= ~DRAG_ITEM_EFFECT; @@ -4099,8 +4107,7 @@ void cpu_use_item_strategy(s32 playerId) { case CPU_STRATEGY_HOLD_GREEN_SHELL: actor = &gActorList[cpuStrategy->actorIndex]; - if ((((!(actor->flags & 0x8000)) || (actor->type != ACTOR_GREEN_SHELL)) || - (actor->state != HELD_SHELL)) || + if ((((!(actor->flags & 0x8000)) || (actor->type != ACTOR_GREEN_SHELL)) || (actor->state != HELD_SHELL)) || (playerId != actor->rot[2])) { // FAKE @@ -4119,8 +4126,7 @@ void cpu_use_item_strategy(s32 playerId) { case CPU_STRATEGY_THROW_GREEN_SHELL: actor = &gActorList[cpuStrategy->actorIndex]; - if ((((!(actor->flags & 0x8000)) || (actor->type != ACTOR_GREEN_SHELL)) || - (actor->state != HELD_SHELL)) || + if ((((!(actor->flags & 0x8000)) || (actor->type != ACTOR_GREEN_SHELL)) || (actor->state != HELD_SHELL)) || (playerId != actor->rot[2])) { // FAKE @@ -4157,7 +4163,7 @@ void cpu_use_item_strategy(s32 playerId) { case CPU_STRATEGY_HOLD_RED_SHELL: actor = &gActorList[cpuStrategy->actorIndex]; if ((((!(SHELL_ACTOR(actor)->flags & 0x8000)) || (SHELL_ACTOR(actor)->type != ACTOR_RED_SHELL)) || - (SHELL_ACTOR(actor)->state != HELD_SHELL)) || + (SHELL_ACTOR(actor)->state != HELD_SHELL)) || (playerId != SHELL_ACTOR(actor)->playerId)) { // FAKE @@ -4177,7 +4183,7 @@ void cpu_use_item_strategy(s32 playerId) { clear_expired_strategies(cpuStrategy); actor = &gActorList[cpuStrategy->actorIndex]; if ((((!(SHELL_ACTOR(actor)->flags & 0x8000)) || (SHELL_ACTOR(actor)->type != ACTOR_RED_SHELL)) || - (SHELL_ACTOR(actor)->state != HELD_SHELL)) || + (SHELL_ACTOR(actor)->state != HELD_SHELL)) || (playerId != SHELL_ACTOR(actor)->playerId)) { // FAKE @@ -4285,9 +4291,10 @@ void cpu_use_item_strategy(s32 playerId) { break; } - if (((BANANA_BUNCH_ACTOR(actor)->type == ACTOR_BANANA_BUNCH) && (BANANA_BUNCH_ACTOR(actor)->state == 6)) && + if (((BANANA_BUNCH_ACTOR(actor)->type == ACTOR_BANANA_BUNCH) && + (BANANA_BUNCH_ACTOR(actor)->state == 6)) && (isValidBanana1 == true)) { - drop_banana_in_banana_bunch((struct BananaBunchParent*)actor); + drop_banana_in_banana_bunch((struct BananaBunchParent*) actor); } cpuStrategy->numDroppedBananaBunch += 1; } else { @@ -4311,8 +4318,9 @@ void cpu_use_item_strategy(s32 playerId) { case CPU_STRATEGY_HOLD_FAKE_ITEM_BOX: actor = &gActorList[cpuStrategy->actorIndex]; - if ((((!(FAKE_ITEMBOX_ACTOR(actor)->flags & 0x8000)) || (FAKE_ITEMBOX_ACTOR(actor)->type != ACTOR_FAKE_ITEM_BOX)) || - (FAKE_ITEMBOX_ACTOR(actor)->state != 0)) || + if ((((!(FAKE_ITEMBOX_ACTOR(actor)->flags & 0x8000)) || + (FAKE_ITEMBOX_ACTOR(actor)->type != ACTOR_FAKE_ITEM_BOX)) || + (FAKE_ITEMBOX_ACTOR(actor)->state != 0)) || (playerId != ((s32) FAKE_ITEMBOX_ACTOR(actor)->playerId))) { // FAKE @@ -4330,8 +4338,9 @@ void cpu_use_item_strategy(s32 playerId) { case CPU_STRATEGY_THROW_FAKE_ITEM_BOX: actor = &gActorList[cpuStrategy->actorIndex]; - if ((((!(FAKE_ITEMBOX_ACTOR(actor)->flags & 0x8000)) || (FAKE_ITEMBOX_ACTOR(actor)->type != ACTOR_FAKE_ITEM_BOX)) || - (FAKE_ITEMBOX_ACTOR(actor)->state != 0)) || + if ((((!(FAKE_ITEMBOX_ACTOR(actor)->flags & 0x8000)) || + (FAKE_ITEMBOX_ACTOR(actor)->type != ACTOR_FAKE_ITEM_BOX)) || + (FAKE_ITEMBOX_ACTOR(actor)->state != 0)) || (playerId != ((s32) FAKE_ITEMBOX_ACTOR(actor)->playerId))) { // FAKE @@ -4341,10 +4350,11 @@ void cpu_use_item_strategy(s32 playerId) { if (FAKE_ITEMBOX_ACTOR(actor)->rot[0] != playerId) {} } else { - func_802A1064((struct FakeItemBox*)actor); + func_802A1064((struct FakeItemBox*) actor); if (D_801631E0[playerId] == true) { FAKE_ITEMBOX_ACTOR(actor)->pos[1] = - get_surface_height(FAKE_ITEMBOX_ACTOR(actor)->pos[0], FAKE_ITEMBOX_ACTOR(actor)->pos[1] + 30.0, FAKE_ITEMBOX_ACTOR(actor)->pos[2]) + + get_surface_height(FAKE_ITEMBOX_ACTOR(actor)->pos[0], FAKE_ITEMBOX_ACTOR(actor)->pos[1] + 30.0, + FAKE_ITEMBOX_ACTOR(actor)->pos[2]) + FAKE_ITEMBOX_ACTOR(actor)->boundingBoxSize; } } diff --git a/src/cpu_vehicles_camera_path/cpu_speed_control.inc.c b/src/cpu_vehicles_camera_path/cpu_speed_control.inc.c index 217312aa3..22a24c7b0 100644 --- a/src/cpu_vehicles_camera_path/cpu_speed_control.inc.c +++ b/src/cpu_vehicles_camera_path/cpu_speed_control.inc.c @@ -119,7 +119,8 @@ void func_80007FA4(s32 playerId, Player* player, f32 arg2) { (arg2 < ((test * 18.0) / 216.0)) ? func_80038BE4(player, 6) : player_decelerate_alternative(player, 1.0f); } else if (D_80163410[playerId] == 0) { test = 35; - (arg2 < (((test ^ 0) * 18.0) / 216.0)) ? func_80038BE4(player, 2) : player_decelerate_alternative(player, 1.0f); + (arg2 < (((test ^ 0) * 18.0) / 216.0)) ? func_80038BE4(player, 2) + : player_decelerate_alternative(player, 1.0f); } else { player_decelerate_alternative(player, 1.0f); } diff --git a/src/data/some_data.c b/src/data/some_data.c index 372d25504..261bc2cd3 100644 --- a/src/data/some_data.c +++ b/src/data/some_data.c @@ -300,13 +300,19 @@ ThwompSpawn gThomwpSpawns150CC[] = { }; f32 D_800E594C[] = { - -8.0, 8.0, - 8.0, 8.0, - 0.0, 0.0, - 8.0, -8.0, - -8.0, -8.0, + -8.0, + 8.0, + 8.0, + 8.0, + 0.0, + 0.0, + 8.0, + -8.0, + -8.0, + -8.0, // This feels super fake, but it matches - -0.0, 0.0, + -0.0, + 0.0, }; s16 D_800E597C[] = { 0x0000, 0x0000, 0x4000, 0x8000, 0x8000, 0xc000 }; @@ -444,10 +450,8 @@ s8 D_800E5DB4[] = { }; s16 D_800E5DF4[] = { - 0xfc7a, 0x0046, 0xfa82, 0x3800, - 0xfc4c, 0x0046, 0xfa03, 0x3800, - 0xf786, 0x0000, 0x02d3, 0x0400, - 0xf76f, 0x0000, 0x02f9, 0x0400, + 0xfc7a, 0x0046, 0xfa82, 0x3800, 0xfc4c, 0x0046, 0xfa03, 0x3800, + 0xf786, 0x0000, 0x02d3, 0x0400, 0xf76f, 0x0000, 0x02f9, 0x0400, }; HegdehogSpawn gHedgehogSpawns[] = { @@ -665,13 +669,8 @@ SplineData* D_800E672C[] = { &D_800E659C, &D_800E6668 }; // Positions of the neon signs in rainbow road float D_800E6734[] = { - 1443.0, 1044.0, -5478.0, - 1678.0, 1012.0, -4840.0, - -3924.0, 921.0, 2566.0, - -3311.0, 790.0, 3524.0, - -1284.0, 1341.0, 4527.0, - 2268.0, 1041.0, 4456.0, - 2820.0, 1109.0, 1985.0, + 1443.0, 1044.0, -5478.0, 1678.0, 1012.0, -4840.0, -3924.0, 921.0, 2566.0, -3311.0, 790.0, + 3524.0, -1284.0, 1341.0, 4527.0, 2268.0, 1041.0, 4456.0, 2820.0, 1109.0, 1985.0, }; // This should really be `extern Vec3s gTorchSpawns[];` diff --git a/src/effects.c b/src/effects.c index e31963708..b4d728aad 100644 --- a/src/effects.c +++ b/src/effects.c @@ -470,7 +470,7 @@ void apply_driving_near_spinout_effect(Player* player, s8 playerIndex) { swerve_timer++; // Standard physics formula: Velo_current = velo_init + (accel_init * time) + (accel_jerk * time**2) / 2 - swerve_velo_current = (swerve_accel_init * swerve_timer) - (0.1 * (swerve_timer * swerve_timer)); + swerve_velo_current = (swerve_accel_init * swerve_timer) - (0.1 * (swerve_timer * swerve_timer)); // Once one swerve finishes, setup to start a smaller one in the opposite direction if ((swerve_timer != 0) && (swerve_velo_current < 0)) { // (10 * swerve_accel_init < swerve_timer)) @@ -2029,7 +2029,7 @@ bool prevent_item_use(Player* player) { } } -//UNUSED +// UNUSED void func_800911B4(Player* player, s8 arg1) { s32 temp_v0; diff --git a/src/kart_dma.c b/src/kart_dma.c index 293468166..512aaa77f 100644 --- a/src/kart_dma.c +++ b/src/kart_dma.c @@ -12,136 +12,115 @@ u16 D_800DDEB0[] = { 0x06c0, 0x06e0, 0x06e0, 0x0680, 0x07c0, 0x0700, 0x0680, 0x0910, }; -#define DECLARE_KART_GROUP(var) \ - u8* var##Group0[] = { \ - var##000, var##001, var##002, var##003, var##004, var##005, var##006, \ - var##007, var##008, var##009, var##010, var##011, var##012, var##013, \ - var##014, var##015, var##016, var##017, var##018, var##019, var##020, \ - var##195, var##196, var##197, var##198, var##199, var##200, var##201, \ - var##202, var##203, var##204, var##205, var##206, var##207, var##208, \ - }; \ - u8* var##Group1[] = { \ - var##021, var##022, var##023, var##024, var##025, var##026, var##027, \ - var##028, var##029, var##030, var##031, var##032, var##033, var##034, \ - var##035, var##036, var##037, var##038, var##039, var##040, var##041, \ - var##195, var##196, var##197, var##198, var##199, var##200, var##201, \ - var##202, var##203, var##204, var##205, var##206, var##207, var##208, \ - }; \ - u8* var##Group2[] = { \ - var##042, var##043, var##044, var##045, var##046, var##047, var##048, \ - var##049, var##050, var##051, var##052, var##053, var##054, var##055, \ - var##056, var##057, var##058, var##059, var##060, var##061, var##062, \ - var##215, var##216, var##217, var##218, var##219, var##220, var##221, \ - var##222, var##223, var##224, var##225, var##226, var##227, var##228, \ - }; \ - u8* var##Group3[] = { \ - var##063, var##064, var##065, var##066, var##067, var##068, var##069, \ - var##070, var##071, var##072, var##073, var##074, var##075, var##076, \ - var##077, var##078, var##079, var##080, var##081, var##082, var##083, \ - var##235, var##236, var##237, var##238, var##239, var##240, var##241, \ - var##242, var##243, var##244, var##245, var##246, var##247, var##248, \ - }; \ - u8* var##Group4[] = { \ - var##084, var##085, var##086, var##087, var##088, var##089, var##090, \ - var##091, var##092, var##093, var##094, var##095, var##096, var##097, \ - var##098, var##099, var##100, var##101, var##102, var##103, var##104, \ - var##235, var##236, var##237, var##238, var##239, var##240, var##241, \ - var##242, var##243, var##244, var##245, var##246, var##247, var##248, \ - }; \ - u8* var##Group5[] = { \ - var##105, var##106, var##107, var##108, var##109, var##110, var##111, \ - var##112, var##113, var##114, var##115, var##116, var##117, var##118, \ - var##119, var##120, var##121, var##122, var##123, var##124, var##125, \ - var##235, var##236, var##237, var##238, var##239, var##240, var##241, \ - var##242, var##243, var##244, var##245, var##246, var##247, var##248, \ - }; \ - u8* var##Group6[] = { \ - var##126, var##127, var##128, var##129, var##130, var##131, var##132, \ - var##133, var##134, var##135, var##136, var##137, var##138, var##139, \ - var##140, var##141, var##142, var##143, var##144, var##145, var##146, \ - var##255, var##256, var##257, var##258, var##259, var##260, var##261, \ - var##262, var##263, var##264, var##265, var##266, var##267, var##268, \ - }; \ - u8* var##Group7[] = { \ - var##147, var##148, var##149, var##150, var##151, var##152, var##153, \ - var##154, var##155, var##156, var##157, var##158, var##159, var##160, \ - var##161, var##162, var##163, var##164, var##165, var##166, var##167, \ - var##275, var##276, var##277, var##278, var##279, var##280, var##281, \ - var##282, var##283, var##284, var##285, var##286, var##287, var##288, \ - }; \ - u8* var##Group8[] = { \ - var##168, var##169, var##170, var##171, var##172, var##173, var##174, \ - var##175, var##176, var##177, var##178, var##179, var##180, var##181, \ - var##182, var##183, var##184, var##185, var##186, var##187, var##188, \ - var##275, var##276, var##277, var##278, var##279, var##280, var##281, \ - var##282, var##283, var##284, var##285, var##286, var##287, var##288, \ - }; \ - u8* var##Group9[] = { \ - var##189, var##190, var##191, var##192, var##193, var##194, var##195, \ - var##196, var##197, var##198, var##199, var##200, var##201, var##202, \ - var##203, var##204, var##205, var##206, var##207, var##208, \ - }; \ - u8* var##Group10[] = { \ - var##189, var##190, var##191, var##192, var##193, var##194, var##195, \ - var##196, var##197, var##198, var##199, var##200, var##201, var##202, \ - var##203, var##204, var##205, var##206, var##207, var##208, \ - }; \ - u8* var##Group11[] = { \ - var##209, var##210, var##211, var##212, var##213, var##214, var##215, \ - var##216, var##217, var##218, var##219, var##220, var##221, var##222, \ - var##223, var##224, var##225, var##226, var##227, var##228, \ - }; \ - u8* var##Group12[] = { \ - var##229, var##230, var##231, var##232, var##233, var##234, var##235, \ - var##236, var##237, var##238, var##239, var##240, var##241, var##242, \ - var##243, var##244, var##245, var##246, var##247, var##248, \ - }; \ - u8* var##Group13[] = { \ - var##229, var##230, var##231, var##232, var##233, var##234, var##235, \ - var##236, var##237, var##238, var##239, var##240, var##241, var##242, \ - var##243, var##244, var##245, var##246, var##247, var##248, \ - }; \ - u8* var##Group14[] = { \ - var##229, var##230, var##231, var##232, var##233, var##234, var##235, \ - var##236, var##237, var##238, var##239, var##240, var##241, var##242, \ - var##243, var##244, var##245, var##246, var##247, var##248, \ - }; \ - u8* var##Group15[] = { \ - var##249, var##250, var##251, var##252, var##253, var##254, var##255, \ - var##256, var##257, var##258, var##259, var##260, var##261, var##262, \ - var##263, var##264, var##265, var##266, var##267, var##268, \ - }; \ - u8* var##Group16[] = { \ - var##269, var##270, var##271, var##272, var##273, var##274, var##275, \ - var##276, var##277, var##278, var##279, var##280, var##281, var##282, \ - var##283, var##284, var##285, var##286, var##287, var##288, \ - }; \ - u8* var##Group17[] = { \ - var##269, var##270, var##271, var##272, var##273, var##274, var##275, \ - var##276, var##277, var##278, var##279, var##280, var##281, var##282, \ - var##283, var##284, var##285, var##286, var##287, var##288, \ +#define DECLARE_KART_GROUP(var) \ + u8* var##Group0[] = { \ + var##000, var##001, var##002, var##003, var##004, var##005, var##006, var##007, var##008, \ + var##009, var##010, var##011, var##012, var##013, var##014, var##015, var##016, var##017, \ + var##018, var##019, var##020, var##195, var##196, var##197, var##198, var##199, var##200, \ + var##201, var##202, var##203, var##204, var##205, var##206, var##207, var##208, \ + }; \ + u8* var##Group1[] = { \ + var##021, var##022, var##023, var##024, var##025, var##026, var##027, var##028, var##029, \ + var##030, var##031, var##032, var##033, var##034, var##035, var##036, var##037, var##038, \ + var##039, var##040, var##041, var##195, var##196, var##197, var##198, var##199, var##200, \ + var##201, var##202, var##203, var##204, var##205, var##206, var##207, var##208, \ + }; \ + u8* var##Group2[] = { \ + var##042, var##043, var##044, var##045, var##046, var##047, var##048, var##049, var##050, \ + var##051, var##052, var##053, var##054, var##055, var##056, var##057, var##058, var##059, \ + var##060, var##061, var##062, var##215, var##216, var##217, var##218, var##219, var##220, \ + var##221, var##222, var##223, var##224, var##225, var##226, var##227, var##228, \ + }; \ + u8* var##Group3[] = { \ + var##063, var##064, var##065, var##066, var##067, var##068, var##069, var##070, var##071, \ + var##072, var##073, var##074, var##075, var##076, var##077, var##078, var##079, var##080, \ + var##081, var##082, var##083, var##235, var##236, var##237, var##238, var##239, var##240, \ + var##241, var##242, var##243, var##244, var##245, var##246, var##247, var##248, \ + }; \ + u8* var##Group4[] = { \ + var##084, var##085, var##086, var##087, var##088, var##089, var##090, var##091, var##092, \ + var##093, var##094, var##095, var##096, var##097, var##098, var##099, var##100, var##101, \ + var##102, var##103, var##104, var##235, var##236, var##237, var##238, var##239, var##240, \ + var##241, var##242, var##243, var##244, var##245, var##246, var##247, var##248, \ + }; \ + u8* var##Group5[] = { \ + var##105, var##106, var##107, var##108, var##109, var##110, var##111, var##112, var##113, \ + var##114, var##115, var##116, var##117, var##118, var##119, var##120, var##121, var##122, \ + var##123, var##124, var##125, var##235, var##236, var##237, var##238, var##239, var##240, \ + var##241, var##242, var##243, var##244, var##245, var##246, var##247, var##248, \ + }; \ + u8* var##Group6[] = { \ + var##126, var##127, var##128, var##129, var##130, var##131, var##132, var##133, var##134, \ + var##135, var##136, var##137, var##138, var##139, var##140, var##141, var##142, var##143, \ + var##144, var##145, var##146, var##255, var##256, var##257, var##258, var##259, var##260, \ + var##261, var##262, var##263, var##264, var##265, var##266, var##267, var##268, \ + }; \ + u8* var##Group7[] = { \ + var##147, var##148, var##149, var##150, var##151, var##152, var##153, var##154, var##155, \ + var##156, var##157, var##158, var##159, var##160, var##161, var##162, var##163, var##164, \ + var##165, var##166, var##167, var##275, var##276, var##277, var##278, var##279, var##280, \ + var##281, var##282, var##283, var##284, var##285, var##286, var##287, var##288, \ + }; \ + u8* var##Group8[] = { \ + var##168, var##169, var##170, var##171, var##172, var##173, var##174, var##175, var##176, \ + var##177, var##178, var##179, var##180, var##181, var##182, var##183, var##184, var##185, \ + var##186, var##187, var##188, var##275, var##276, var##277, var##278, var##279, var##280, \ + var##281, var##282, var##283, var##284, var##285, var##286, var##287, var##288, \ + }; \ + u8* var##Group9[] = { \ + var##189, var##190, var##191, var##192, var##193, var##194, var##195, var##196, var##197, var##198, \ + var##199, var##200, var##201, var##202, var##203, var##204, var##205, var##206, var##207, var##208, \ + }; \ + u8* var##Group10[] = { \ + var##189, var##190, var##191, var##192, var##193, var##194, var##195, var##196, var##197, var##198, \ + var##199, var##200, var##201, var##202, var##203, var##204, var##205, var##206, var##207, var##208, \ + }; \ + u8* var##Group11[] = { \ + var##209, var##210, var##211, var##212, var##213, var##214, var##215, var##216, var##217, var##218, \ + var##219, var##220, var##221, var##222, var##223, var##224, var##225, var##226, var##227, var##228, \ + }; \ + u8* var##Group12[] = { \ + var##229, var##230, var##231, var##232, var##233, var##234, var##235, var##236, var##237, var##238, \ + var##239, var##240, var##241, var##242, var##243, var##244, var##245, var##246, var##247, var##248, \ + }; \ + u8* var##Group13[] = { \ + var##229, var##230, var##231, var##232, var##233, var##234, var##235, var##236, var##237, var##238, \ + var##239, var##240, var##241, var##242, var##243, var##244, var##245, var##246, var##247, var##248, \ + }; \ + u8* var##Group14[] = { \ + var##229, var##230, var##231, var##232, var##233, var##234, var##235, var##236, var##237, var##238, \ + var##239, var##240, var##241, var##242, var##243, var##244, var##245, var##246, var##247, var##248, \ + }; \ + u8* var##Group15[] = { \ + var##249, var##250, var##251, var##252, var##253, var##254, var##255, var##256, var##257, var##258, \ + var##259, var##260, var##261, var##262, var##263, var##264, var##265, var##266, var##267, var##268, \ + }; \ + u8* var##Group16[] = { \ + var##269, var##270, var##271, var##272, var##273, var##274, var##275, var##276, var##277, var##278, \ + var##279, var##280, var##281, var##282, var##283, var##284, var##285, var##286, var##287, var##288, \ + }; \ + u8* var##Group17[] = { \ + var##269, var##270, var##271, var##272, var##273, var##274, var##275, var##276, var##277, var##278, \ + var##279, var##280, var##281, var##282, var##283, var##284, var##285, var##286, var##287, var##288, \ }; -#define DECLARE_KART_TABLE0(var) \ - u8** var##Table0[] = { \ +#define DECLARE_KART_TABLE0(var) \ + u8** var##Table0[] = { \ var##Group8, var##Group7, var##Group6, var##Group5, var##Group4, \ - var##Group3, var##Group2, var##Group1, var##Group0, \ + var##Group3, var##Group2, var##Group1, var##Group0, \ }; -#define DECLARE_KART_TABLE1(var) \ - u8** var##Table1[] = { \ +#define DECLARE_KART_TABLE1(var) \ + u8** var##Table1[] = { \ var##Group17, var##Group16, var##Group15, var##Group14, var##Group13, \ - var##Group12, var##Group11, var##Group10, var##Group9, \ + var##Group12, var##Group11, var##Group10, var##Group9, \ }; -#define DECLARE_KART_TUMBLE_TABLE(var) \ - u8* var##Tumble[] = { \ - var##289, var##290, var##291, var##292, var##293, var##294, var##295, \ - var##296, var##297, var##298, var##299, var##300, var##301, var##302, \ - var##303, var##304, var##305, var##306, var##307, var##308, var##309, \ - var##310, var##311, var##312, var##313, var##314, var##315, var##316, \ - var##317, var##318, var##319, var##320 \ - }; +#define DECLARE_KART_TUMBLE_TABLE(var) \ + u8* var##Tumble[] = { var##289, var##290, var##291, var##292, var##293, var##294, var##295, var##296, \ + var##297, var##298, var##299, var##300, var##301, var##302, var##303, var##304, \ + var##305, var##306, var##307, var##308, var##309, var##310, var##311, var##312, \ + var##313, var##314, var##315, var##316, var##317, var##318, var##319, var##320 }; DECLARE_KART_GROUP(gKartMario) DECLARE_KART_GROUP(gKartToad) diff --git a/src/menu_items.c b/src/menu_items.c index c8e9e7a4b..e1d31d17d 100644 --- a/src/menu_items.c +++ b/src/menu_items.c @@ -3074,8 +3074,9 @@ Gfx* func_80096CD8(Gfx* displayListHead, s32 xPos, s32 yPos, u32 width, u32 heig if (rectXoffset == 0) { break; } - } else + } else { rectXoffset = tileWidth; + } gDPLoadTextureTile(displayListHead++, (D_0B002A00 + random_int(128) * 2), G_IM_FMT_IA, G_IM_SIZ_16b, width, height, x, y, x + rectXoffset, y + rectYoffset, 0, G_TX_WRAP, G_TX_WRAP, masks, maskt, @@ -3794,8 +3795,9 @@ void func_80099EC4(void) { var_s1 = D_8018E0E8; temp_s2 = var_s1->mk64Texture; - if (temp_s2 == NULL) + if (temp_s2 == NULL) { return; + } huh = temp_s2->size; if (huh != 0) { @@ -3833,8 +3835,9 @@ void func_80099EC4(void) { D_802BFB80.arraySize4[var_s1->unk6][var_s1->unk4 / 2][(var_s1->unk4 % 2) + 2].pixel_index_array); var_s1->mk64Texture = NULL; var_s1++; - if (var_s4 != 0) + if (var_s4 != 0) { break; + } osRecvMesg(&gDmaMesgQueue, &sp64, 1); if ((var_s1 + 1)->mk64Texture == NULL) { var_s4 += 1; @@ -3857,8 +3860,9 @@ void func_80099EC4(void) { D_802BFB80.arraySize4[var_s1->unk6][var_s1->unk4 / 2][(var_s1->unk4 % 2) + 2].pixel_index_array); var_s1->mk64Texture = NULL; var_s1++; - if (var_s4 != 0) + if (var_s4 != 0) { break; + } osRecvMesg(&gDmaMesgQueue, &sp64, 1); } } @@ -5516,7 +5520,8 @@ void add_menu_item(s32 type, s32 column, s32 row, s8 priority) { load_menu_img_comp_type(D_02004B74, LOAD_MENU_IMG_TKMK00_ONCE); convert_img_to_greyscale(0, 0x00000019); adjust_img_colour(0, SCREEN_WIDTH * SCREEN_HEIGHT, gBackgroundColor[type - MAIN_MENU_BACKGROUND].red, - gBackgroundColor[type - MAIN_MENU_BACKGROUND].green, gBackgroundColor[type - MAIN_MENU_BACKGROUND].blue); + gBackgroundColor[type - MAIN_MENU_BACKGROUND].green, + gBackgroundColor[type - MAIN_MENU_BACKGROUND].blue); break; case MENU_ITEM_UI_OK: menuItem->param1 = 0x20; @@ -11057,7 +11062,8 @@ void func_800ACF40(MenuItem* arg0) { break; case 3: if (D_8018DEE0[arg0->D_8018DEE0_index].sequenceIndex >= D_800E8440[temp_a1]) { - func_8009A640(arg0->D_8018DEE0_index, 0, somePlayerIndex, segmented_to_virtual_dupe_2(D_800E83A0[temp_a1])); + func_8009A640(arg0->D_8018DEE0_index, 0, somePlayerIndex, + segmented_to_virtual_dupe_2(D_800E83A0[temp_a1])); arg0->state = 4; } break; diff --git a/src/menus.c b/src/menus.c index d477aef97..20435500a 100644 --- a/src/menus.c +++ b/src/menus.c @@ -1271,7 +1271,7 @@ void setup_selected_game_mode(void) { */ void main_menu_act(struct Controller* controller, u16 controllerIdx) { u16 btnAndStick; - s32 subMode; // subMode + s32 subMode; // subMode bool cursorMoved; // cursorMoved btnAndStick = controller->buttonPressed | controller->stickPressed; @@ -1354,7 +1354,7 @@ void main_menu_act(struct Controller* controller, u16 controllerIdx) { play_sound2(SOUND_MENU_GO_BACK); break; } - + if (btnAndStick & A_BUTTON) { switch (gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) { default: @@ -1407,11 +1407,13 @@ void main_menu_act(struct Controller* controller, u16 controllerIdx) { if (btnAndStick & D_JPAD) { cursorMoved = false; if (has_unlocked_extra_mode()) { - if (subMode < sGameModePlayerColumnExtra[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) { + if (subMode < + sGameModePlayerColumnExtra[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) { cursorMoved = true; } } else { - if (subMode < sGameModePlayerColumnDefault[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) { + if (subMode < + sGameModePlayerColumnDefault[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) { cursorMoved = true; } } @@ -1428,7 +1430,7 @@ void main_menu_act(struct Controller* controller, u16 controllerIdx) { reset_cycle_flash_menu(); play_sound2(SOUND_MENU_GO_BACK); break; - } + } if (btnAndStick & A_BUTTON) { reset_cycle_flash_menu(); if ((gPlayerCount == 1) && ((gGameModeMenuColumn - 1)[gPlayerCount] == 1) && (subMode == 1)) { @@ -1533,10 +1535,12 @@ void player_select_menu_act(struct Controller* controller, u16 controllerIdx) { play_sound2(SOUND_MENU_GO_BACK); } } - + if ((btnAndStick & A_BUTTON) && (gCharacterGridIsSelected[controllerIdx] == 0)) { gCharacterGridIsSelected[controllerIdx] = true; - func_800C90F4(controllerIdx, ((sCharacterGridOrder - 1)[gCharacterGridSelections[controllerIdx]] * 0x10) + 0x2900800E); + func_800C90F4(controllerIdx, + ((sCharacterGridOrder - 1)[gCharacterGridSelections[controllerIdx]] * 0x10) + + 0x2900800E); } selected = false; @@ -1558,7 +1562,9 @@ void player_select_menu_act(struct Controller* controller, u16 controllerIdx) { } j = gCharacterGridSelections[controllerIdx]; if ((btnAndStick & R_JPAD) && (btnAndStick & D_JPAD)) { - if ((gCharacterGridSelections[controllerIdx] == 1U) || (gCharacterGridSelections[controllerIdx] == 2U) || (gCharacterGridSelections[controllerIdx] == 3U)) { + if ((gCharacterGridSelections[controllerIdx] == 1U) || + (gCharacterGridSelections[controllerIdx] == 2U) || + (gCharacterGridSelections[controllerIdx] == 3U)) { j = gCharacterGridSelections[controllerIdx] + 5; if (is_character_spot_free(j)) { gCharacterGridSelections[controllerIdx] = j; @@ -1568,7 +1574,9 @@ void player_select_menu_act(struct Controller* controller, u16 controllerIdx) { return; } if ((btnAndStick & L_JPAD) && (btnAndStick & D_JPAD)) { - if ((gCharacterGridSelections[controllerIdx] == 2U) || (gCharacterGridSelections[controllerIdx] == 3U) || (gCharacterGridSelections[controllerIdx] == 4U)) { + if ((gCharacterGridSelections[controllerIdx] == 2U) || + (gCharacterGridSelections[controllerIdx] == 3U) || + (gCharacterGridSelections[controllerIdx] == 4U)) { j = gCharacterGridSelections[controllerIdx] + 3; if (is_character_spot_free(j)) { gCharacterGridSelections[controllerIdx] = j; @@ -1578,7 +1586,9 @@ void player_select_menu_act(struct Controller* controller, u16 controllerIdx) { return; } if ((btnAndStick & R_JPAD) && (btnAndStick & U_JPAD)) { - if ((gCharacterGridSelections[controllerIdx] == 5U) || (gCharacterGridSelections[controllerIdx] == 6U) || (gCharacterGridSelections[controllerIdx] == 7U)) { + if ((gCharacterGridSelections[controllerIdx] == 5U) || + (gCharacterGridSelections[controllerIdx] == 6U) || + (gCharacterGridSelections[controllerIdx] == 7U)) { j = gCharacterGridSelections[controllerIdx] - 3; if (is_character_spot_free(j)) { gCharacterGridSelections[controllerIdx] = j; @@ -1589,7 +1599,9 @@ void player_select_menu_act(struct Controller* controller, u16 controllerIdx) { } if ((btnAndStick & L_JPAD) && (btnAndStick & U_JPAD)) { - if ((gCharacterGridSelections[controllerIdx] == 6U) || (gCharacterGridSelections[controllerIdx] == 7U) || (gCharacterGridSelections[controllerIdx] == 8U)) { + if ((gCharacterGridSelections[controllerIdx] == 6U) || + (gCharacterGridSelections[controllerIdx] == 7U) || + (gCharacterGridSelections[controllerIdx] == 8U)) { j = gCharacterGridSelections[controllerIdx] - 5; if (is_character_spot_free(j)) { gCharacterGridSelections[controllerIdx] = j; @@ -1597,10 +1609,10 @@ void player_select_menu_act(struct Controller* controller, u16 controllerIdx) { } } return; - } if (btnAndStick & R_JPAD) { - if ((gCharacterGridSelections[controllerIdx] != 4U) && (gCharacterGridSelections[controllerIdx] != 8U)) { + if ((gCharacterGridSelections[controllerIdx] != 4U) && + (gCharacterGridSelections[controllerIdx] != 8U)) { j = gCharacterGridSelections[controllerIdx] + 1; do { if (is_character_spot_free(j)) { @@ -1618,7 +1630,8 @@ void player_select_menu_act(struct Controller* controller, u16 controllerIdx) { return; } if (btnAndStick & L_JPAD) { - if ((gCharacterGridSelections[controllerIdx] != 1U) && (gCharacterGridSelections[controllerIdx] != 5U)) { + if ((gCharacterGridSelections[controllerIdx] != 1U) && + (gCharacterGridSelections[controllerIdx] != 5U)) { j = gCharacterGridSelections[controllerIdx] - 1; do { if (is_character_spot_free(j)) { @@ -1626,7 +1639,7 @@ void player_select_menu_act(struct Controller* controller, u16 controllerIdx) { play_sound2(SOUND_MENU_CURSOR_MOVE); return; } - + j--; if (j == 0 || j == 4) { break; diff --git a/src/os/is_debug.c b/src/os/is_debug.c index 3c4c60d4c..ba905bb4a 100644 --- a/src/os/is_debug.c +++ b/src/os/is_debug.c @@ -66,7 +66,7 @@ void osSyncPrintfUnused(const char* fmt, ...) { va_list args; va_start(args, fmt); - _Printf((char* (*) (char*, const char*, size_t) ) is_proutSyncPrintf, NULL, fmt, args); + _Printf((char* (*) (char*, const char*, size_t)) is_proutSyncPrintf, NULL, fmt, args); va_end(args); } @@ -75,7 +75,7 @@ void osSyncPrintf(const char* fmt, ...) { va_list args; va_start(args, fmt); - _Printf((char* (*) (char*, const char*, size_t) ) is_proutSyncPrintf, NULL, fmt, args); + _Printf((char* (*) (char*, const char*, size_t)) is_proutSyncPrintf, NULL, fmt, args); va_end(args); } @@ -84,7 +84,7 @@ void print(const char* fmt, ...) { va_list args; va_start(args, fmt); - _Printf((char* (*) (char*, const char*, size_t) ) is_proutSyncPrintf, NULL, fmt, args); + _Printf((char* (*) (char*, const char*, size_t)) is_proutSyncPrintf, NULL, fmt, args); va_end(args); } @@ -94,7 +94,7 @@ void rmonPrintf(const char* fmt, ...) { va_list args; va_start(args, fmt); - _Printf((char* (*) (char*, const char*, size_t) ) is_proutSyncPrintf, NULL, fmt, args); + _Printf((char* (*) (char*, const char*, size_t)) is_proutSyncPrintf, NULL, fmt, args); va_end(args); } diff --git a/src/player_controller.c b/src/player_controller.c index fe83ceebb..65113088f 100644 --- a/src/player_controller.c +++ b/src/player_controller.c @@ -1684,8 +1684,7 @@ void func_8002BD58(Player* player) { if ((player->unk_234 >= 30) && (player->unk_234 < 80)) { player->steerPosition = spC[(s32) (player->unk_234 - 30) / 12]; } - if (((player->unk_234 < 80) || (player->unk_234 > 90)) && (player->unk_234 > 90) && - (player->unk_234 <= 160)) { + if (((player->unk_234 < 80) || (player->unk_234 > 90)) && (player->unk_234 > 90) && (player->unk_234 <= 160)) { player->steerPosition = spC[1]; } } else { @@ -2157,10 +2156,10 @@ void func_8002D268(Player* player, UNUSED Camera* camera, s8 screenId, s8 player } if ((player->tyres[BACK_LEFT].surfaceType == ASPHALT) && (player->tyres[BACK_RIGHT].surfaceType == ASPHALT)) { gravityX = (-1 * (player->unk_064[0] + sp16C[0])) + - ((-player->collision.orientationVector[0] * player->kartGravity) * 0.925); + ((-player->collision.orientationVector[0] * player->kartGravity) * 0.925); gravityY = (-player->collision.orientationVector[1] * player->kartGravity); gravityZ = (-1 * (player->unk_064[2] + sp16C[2])) + - ((-player->collision.orientationVector[2] * player->kartGravity) * 0.925); + ((-player->collision.orientationVector[2] * player->kartGravity) * 0.925); } else { temp3 = (((player->speed / 18.0f) * 216.0f) / 10.0f); if (temp3 >= 10) { @@ -3046,7 +3045,8 @@ f32 func_80030150(Player* player, s8 playerIndex) { var_f0 += var_v0 * (0.01 + gKartTurnSpeedReductionTable0[player->characterId]); } } - if (((player->effects & DRIFT_OUTSIDE_EFFECT) == DRIFT_OUTSIDE_EFFECT) && (player->driftStateCounter < 10)) { + if (((player->effects & DRIFT_OUTSIDE_EFFECT) == DRIFT_OUTSIDE_EFFECT) && + (player->driftStateCounter < 10)) { if (var_v0 < 0) { var_f0 += -var_v0 * 0.008; } else { @@ -3757,7 +3757,8 @@ void player_decelerate(Player* player, f32 speedReduction) { } void player_accelerate_global(Player* player, s32 playerIndex) { - if ((gPlayerCurrentSpeed[playerIndex] >= 0.0) && (gPlayerCurrentSpeed[playerIndex] < ((f64) player->topSpeed * 0.1))) { + if ((gPlayerCurrentSpeed[playerIndex] >= 0.0) && + (gPlayerCurrentSpeed[playerIndex] < ((f64) player->topSpeed * 0.1))) { gPlayerCurrentSpeed[playerIndex] += gKartAccelerationTables[player->characterId][0] * 3.2; } if (((player->topSpeed * 0.1) <= gPlayerCurrentSpeed[playerIndex]) && @@ -3776,19 +3777,24 @@ void player_accelerate_global(Player* player, s32 playerIndex) { (gPlayerCurrentSpeed[playerIndex] < (player->topSpeed * 0.5))) { gPlayerCurrentSpeed[playerIndex] += gKartAccelerationTables[player->characterId][4] * 3.2; } - if (((player->topSpeed * 0.5) <= gPlayerCurrentSpeed[playerIndex]) && (gPlayerCurrentSpeed[playerIndex] < (player->topSpeed * 0.6))) { + if (((player->topSpeed * 0.5) <= gPlayerCurrentSpeed[playerIndex]) && + (gPlayerCurrentSpeed[playerIndex] < (player->topSpeed * 0.6))) { gPlayerCurrentSpeed[playerIndex] += gKartAccelerationTables[player->characterId][5] * 3.2; } - if (((player->topSpeed * 0.6) <= gPlayerCurrentSpeed[playerIndex]) && (gPlayerCurrentSpeed[playerIndex] < (player->topSpeed * 0.7))) { + if (((player->topSpeed * 0.6) <= gPlayerCurrentSpeed[playerIndex]) && + (gPlayerCurrentSpeed[playerIndex] < (player->topSpeed * 0.7))) { gPlayerCurrentSpeed[playerIndex] += gKartAccelerationTables[player->characterId][6] * 3.2; } - if (((player->topSpeed * 0.7) <= gPlayerCurrentSpeed[playerIndex]) && (gPlayerCurrentSpeed[playerIndex] < (player->topSpeed * 0.8))) { + if (((player->topSpeed * 0.7) <= gPlayerCurrentSpeed[playerIndex]) && + (gPlayerCurrentSpeed[playerIndex] < (player->topSpeed * 0.8))) { gPlayerCurrentSpeed[playerIndex] += gKartAccelerationTables[player->characterId][7] * 2.8; } - if (((player->topSpeed * 0.8) <= gPlayerCurrentSpeed[playerIndex]) && (gPlayerCurrentSpeed[playerIndex] < (player->topSpeed * 0.9))) { + if (((player->topSpeed * 0.8) <= gPlayerCurrentSpeed[playerIndex]) && + (gPlayerCurrentSpeed[playerIndex] < (player->topSpeed * 0.9))) { gPlayerCurrentSpeed[playerIndex] += gKartAccelerationTables[player->characterId][8] * 2.8; } - if (((player->topSpeed * 0.9) <= gPlayerCurrentSpeed[playerIndex]) && (gPlayerCurrentSpeed[playerIndex] <= (player->topSpeed * 1.0))) { + if (((player->topSpeed * 0.9) <= gPlayerCurrentSpeed[playerIndex]) && + (gPlayerCurrentSpeed[playerIndex] <= (player->topSpeed * 1.0))) { gPlayerCurrentSpeed[playerIndex] += gKartAccelerationTables[player->characterId][9] * 2.8; } player->kartProps |= THROTTLE; @@ -3817,14 +3823,16 @@ void func_80033850(Player* arg0, f32 arg1) { } } -void update_steering_large(Player* player, s32* desired_steering_change, s32* current_steering, s32 desired_steering, s32 steering_change_threshold, s32 steering_change_minimum, s32 arg6) { +void update_steering_large(Player* player, s32* desired_steering_change, s32* current_steering, s32 desired_steering, + s32 steering_change_threshold, s32 steering_change_minimum, s32 arg6) { s32 current_steering_change_increment; // if (abs(desired_steering_change) >= steering_change_threshold) - if ((*desired_steering_change >= steering_change_threshold) || (-steering_change_threshold >= *desired_steering_change)) { + if ((*desired_steering_change >= steering_change_threshold) || + (-steering_change_threshold >= *desired_steering_change)) { current_steering_change_increment = player->steerChangeIncrement; player->steerChangeIncrement -= 1 << 11; - //signed vs unsigned weirdness, actually checking if negative + // signed vs unsigned weirdness, actually checking if negative if (player->steerChangeIncrement >= 0xF0000000) { player->steerChangeIncrement = current_steering_change_increment; } @@ -3833,9 +3841,10 @@ void update_steering_large(Player* player, s32* desired_steering_change, s32* cu } // move current_steering toward desired_steering - *current_steering = (desired_steering < *current_steering) ? *current_steering - player->steerChangeIncrement : *current_steering + player->steerChangeIncrement; + *current_steering = (desired_steering < *current_steering) ? *current_steering - player->steerChangeIncrement + : *current_steering + player->steerChangeIncrement; - //arg6 is always positive and unk_090 is 0 or negative, so this if statement is always true + // arg6 is always positive and unk_090 is 0 or negative, so this if statement is always true if (player->unk_090 < ((f32) arg6)) { player->unk_090 = (f32) -arg6; } @@ -3878,10 +3887,12 @@ UNUSED void func_800339C4(Player* player, s32* arg1, s32 arg2, s32 arg3, f32 arg func_80033850(player, arg4); } -void update_steering_small(Player* player, s32* desired_steering_change, s32* current_steering, s32 desired_steering, s32 steering_change_threshold, s32 steering_change_minimum, f32 arg6) { +void update_steering_small(Player* player, s32* desired_steering_change, s32* current_steering, s32 desired_steering, + s32 steering_change_threshold, s32 steering_change_minimum, f32 arg6) { s32 current_steering_change_increment; - if ((*desired_steering_change >= steering_change_threshold) || (-steering_change_threshold >= *desired_steering_change)) { + if ((*desired_steering_change >= steering_change_threshold) || + (-steering_change_threshold >= *desired_steering_change)) { current_steering_change_increment = player->steerChangeIncrement; player->steerChangeIncrement -= 1 << 11; if (player->steerChangeIncrement >= 0xF0000000) { @@ -3891,7 +3902,8 @@ void update_steering_small(Player* player, s32* desired_steering_change, s32* cu player->steerChangeIncrement = steering_change_minimum; } - *current_steering = (desired_steering < *current_steering) ? *current_steering - player->steerChangeIncrement : *current_steering + player->steerChangeIncrement; + *current_steering = (desired_steering < *current_steering) ? *current_steering - player->steerChangeIncrement + : *current_steering + player->steerChangeIncrement; // identical to update_steering_large before this point // set player->unk_090 = min(0, player->unk_90 + arg6) @@ -3899,7 +3911,7 @@ void update_steering_small(Player* player, s32* desired_steering_change, s32* cu } } -//On or near ground +// On or near ground void func_80033AE0(Player* player, struct Controller* controller, s8 playerIndex) { s32 steer_position; s32 clamped_x; @@ -3924,18 +3936,11 @@ void func_80033AE0(Player* player, struct Controller* controller, s8 playerIndex 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8 }; - if ( - ( - ((player->effects & HOP_EFFECT) != HOP_EFFECT) && - ( - ((player->unk_0C0 / DEGREES_CONVERSION_FACTOR <= 6) && (player->unk_0C0 / DEGREES_CONVERSION_FACTOR >= -6)) || - ((controller->button & R_TRIG) != R_TRIG) - ) - ) || - (((player->speed / 18.0f) * 216.0f) <= 20.0f) || - ((player->effects & ENEMY_BONK_EFFECT) == ENEMY_BONK_EFFECT) - ) { - cancel_drift_effect(player); + if ((((player->effects & HOP_EFFECT) != HOP_EFFECT) && + (((player->unk_0C0 / DEGREES_CONVERSION_FACTOR <= 6) && (player->unk_0C0 / DEGREES_CONVERSION_FACTOR >= -6)) || + ((controller->button & R_TRIG) != R_TRIG))) || + (((player->speed / 18.0f) * 216.0f) <= 20.0f) || ((player->effects & ENEMY_BONK_EFFECT) == ENEMY_BONK_EFFECT)) { + cancel_drift_effect(player); } if ((player->unk_0C0 / DEGREES_CONVERSION_FACTOR) < (-5)) { @@ -3962,7 +3967,8 @@ void func_80033AE0(Player* player, struct Controller* controller, s8 playerIndex steer_position_delta = steer_position - player->steerPosition; // x change steer_position_delta = steer_position_delta >> 16; player->steerPositionDelta = (s16) steer_position_delta; - if (((steer_position_delta >= 90) || (steer_position_delta <= -90)) && (!(player->kartProps & DRIVING_NEAR_SPINOUT))) { + if (((steer_position_delta >= 90) || (steer_position_delta <= -90)) && + (!(player->kartProps & DRIVING_NEAR_SPINOUT))) { if ((((((!(player->effects & DRIFTING_EFFECT)) && (gCCSelection == CC_150)) && (gModeSelection != BATTLE)) && (!(player->effects & MIDAIR_EFFECT))) && (((player->speed / 18.0f) * 216.0f) >= 40.0f)) && @@ -3971,7 +3977,7 @@ void func_80033AE0(Player* player, struct Controller* controller, s8 playerIndex } } if (((s32) player->tyres[BACK_RIGHT].surfaceType) < 0xF) { - //this table is just zeros + // this table is just zeros zero += D_800E3610[player->characterId][player->tyres[BACK_RIGHT].surfaceType]; } if (((s32) player->tyres[BACK_LEFT].surfaceType) < 0xF) { @@ -3990,19 +3996,19 @@ void func_80033AE0(Player* player, struct Controller* controller, s8 playerIndex if (((player->speed / 18.0f) * 216.0f) >= 15.0f) { if ((player->kartProps & RIGHT_TURN) == RIGHT_TURN) { if ((steer_position_delta <= 35) && (steer_position_delta >= 0)) { - //gKartTable800E3650 is always 0 - steer_resistance_large_turn = - (gKartTable800E3650[player->characterId] + 1.0f) * (((f32) (var_a0 + 15)) * (1.0f + zero)); //18 or 15 + // gKartTable800E3650 is always 0 + steer_resistance_large_turn = (gKartTable800E3650[player->characterId] + 1.0f) * + (((f32) (var_a0 + 15)) * (1.0f + zero)); // 18 or 15 steer_resistance_small_turn = (gKartTable800E3650[player->characterId] + 1.0f) * (((f32) (var_a0 + 15)) * (1.0f + zero)); } else { steer_resistance_large_turn = (s32) (((f32) (var_a0 + 5)) * (1.0f + zero)); // 8 or 5 - steer_resistance_small_turn = (s32) (((f32) (var_a0 + 9)) * (1.0f + zero)); //12 or 9 + steer_resistance_small_turn = (s32) (((f32) (var_a0 + 9)) * (1.0f + zero)); // 12 or 9 } } else if ((player->kartProps & LEFT_TURN) == LEFT_TURN) { if ((steer_position_delta >= -35) && (steer_position_delta <= 0)) { - steer_resistance_large_turn = - (gKartTable800E3650[player->characterId] + 1.0f) * (((f32) (var_a0 + 15)) * (1.0f + zero)); // 18 or 15 + steer_resistance_large_turn = (gKartTable800E3650[player->characterId] + 1.0f) * + (((f32) (var_a0 + 15)) * (1.0f + zero)); // 18 or 15 steer_resistance_small_turn = (gKartTable800E3650[player->characterId] + 1.0f) * (((f32) (var_a0 + 15)) * (1.0f + zero)); } else { @@ -4035,105 +4041,196 @@ void func_80033AE0(Player* player, struct Controller* controller, s8 playerIndex } /* - This big group of function calls does 2 things. - First, when you steer it sets steer_position (which starts as just your x input) part way between your x input and your previous player->steerPosition - (basically, you cannot go from full left to right steering instantaneously) - Second, it sets the value of player->unk_090, which has to do with your karts sideways velocity. The code looks like it is intended - to set this to larger negative values when you have a large steer_position_delta. However, due to an apparent bug, update_steering_large - overwrites this too frequently. The end effect is that player->unk_090 ends up always getting set to -59.85 when steer_position_delta > 30 - and set to 0 otherwise. -59.85 is -100 (the last value provided to update_steering_large) + the sum of the values provided to update_steering_small + This big group of function calls does 2 things. + First, when you steer it sets steer_position (which starts as just your x input) part way between your x input and + your previous player->steerPosition (basically, you cannot go from full left to right steering instantaneously) + Second, it sets the value of player->unk_090, which has to do with your karts sideways velocity. The code looks like + it is intended to set this to larger negative values when you have a large steer_position_delta. However, due to an + apparent bug, update_steering_large overwrites this too frequently. The end effect is that player->unk_090 ends up + always getting set to -59.85 when steer_position_delta > 30 and set to 0 otherwise. -59.85 is -100 (the last value + provided to update_steering_large) + the sum of the values provided to update_steering_small */ - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 90, (120 << 12) / steer_resistance_large_turn, 450); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 89, (118 << 12) / steer_resistance_large_turn, 440); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 88, (116 << 12) / steer_resistance_large_turn, 430); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 87, (114 << 12) / steer_resistance_large_turn, 420); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 86, (112 << 12) / steer_resistance_large_turn, 410); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 85, (88 << 12) / steer_resistance_large_turn, 400); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 84, (86 << 12) / steer_resistance_large_turn, 395); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 83, (80 << 12) / steer_resistance_large_turn, 390); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 82, (79 << 12) / steer_resistance_large_turn, 390); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 81, (78 << 12) / steer_resistance_large_turn, 380); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 80, (77 << 12) / steer_resistance_large_turn, 370); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 79, (76 << 12) / steer_resistance_large_turn, 360); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 78, (76 << 12) / steer_resistance_large_turn, 360); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 77, (75 << 12) / steer_resistance_large_turn, 350); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 76, (74 << 12) / steer_resistance_large_turn, 340); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 75, (73 << 12) / steer_resistance_large_turn, 330); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 74, (73 << 12) / steer_resistance_large_turn, 330); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 73, (73 << 12) / steer_resistance_large_turn, 330); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 72, (72 << 12) / steer_resistance_large_turn, 320); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 71, (71 << 12) / steer_resistance_large_turn, 315); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 70, (71 << 12) / steer_resistance_large_turn, 315); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 69, (70 << 12) / steer_resistance_large_turn, 305); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 68, (70 << 12) / steer_resistance_large_turn, 305); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 67, (69 << 12) / steer_resistance_large_turn, 280); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 66, (70 << 12) / steer_resistance_large_turn, 270); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 65, (69 << 12) / steer_resistance_large_turn, 270); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 64, (68 << 12) / steer_resistance_large_turn, 260); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 63, (67 << 12) / steer_resistance_large_turn, 250); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 62, (67 << 12) / steer_resistance_large_turn, 250); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 61, (67 << 12) / steer_resistance_large_turn, 250); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 60, (61 << 12) / steer_resistance_large_turn, 245); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 59, (60 << 12) / steer_resistance_large_turn, 245); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 58, (59 << 12) / steer_resistance_large_turn, 245); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 57, (58 << 12) / steer_resistance_large_turn, 245); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 56, (56 << 12) / steer_resistance_large_turn, 245); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 55, (56 << 12) / steer_resistance_large_turn, 230); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 54, (56 << 12) / steer_resistance_large_turn, 230); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 53, (56 << 12) / steer_resistance_large_turn, 230); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 52, (56 << 12) / steer_resistance_large_turn, 230); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 51, (56 << 12) / steer_resistance_large_turn, 230); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 50, (50 << 12) / steer_resistance_large_turn, 220); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 49, (50 << 12) / steer_resistance_large_turn, 220); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 48, (50 << 12) / steer_resistance_large_turn, 220); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 47, (50 << 12) / steer_resistance_large_turn, 220); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 46, (50 << 12) / steer_resistance_large_turn, 220); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 45, (48 << 12) / steer_resistance_large_turn, 110); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 44, (46 << 12) / steer_resistance_large_turn, 110); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 43, (46 << 12) / steer_resistance_large_turn, 110); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 42, (46 << 12) / steer_resistance_large_turn, 110); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 41, (46 << 12) / steer_resistance_large_turn, 110); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 40, (46 << 12) / steer_resistance_large_turn, 110); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 39, (44 << 12) / steer_resistance_large_turn, 110); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 38, (40 << 12) / steer_resistance_large_turn, 110); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 37, (40 << 12) / steer_resistance_large_turn, 110); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 36, (36 << 12) / steer_resistance_large_turn, 110); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 35, (36 << 12) / steer_resistance_large_turn, 110); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 34, (34 << 12) / steer_resistance_large_turn, 110); - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 32, (32 << 12) / steer_resistance_large_turn, 100); // this skips 33 - update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 31, (32 << 12) / steer_resistance_large_turn, 100); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 90, + (120 << 12) / steer_resistance_large_turn, 450); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 89, + (118 << 12) / steer_resistance_large_turn, 440); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 88, + (116 << 12) / steer_resistance_large_turn, 430); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 87, + (114 << 12) / steer_resistance_large_turn, 420); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 86, + (112 << 12) / steer_resistance_large_turn, 410); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 85, + (88 << 12) / steer_resistance_large_turn, 400); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 84, + (86 << 12) / steer_resistance_large_turn, 395); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 83, + (80 << 12) / steer_resistance_large_turn, 390); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 82, + (79 << 12) / steer_resistance_large_turn, 390); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 81, + (78 << 12) / steer_resistance_large_turn, 380); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 80, + (77 << 12) / steer_resistance_large_turn, 370); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 79, + (76 << 12) / steer_resistance_large_turn, 360); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 78, + (76 << 12) / steer_resistance_large_turn, 360); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 77, + (75 << 12) / steer_resistance_large_turn, 350); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 76, + (74 << 12) / steer_resistance_large_turn, 340); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 75, + (73 << 12) / steer_resistance_large_turn, 330); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 74, + (73 << 12) / steer_resistance_large_turn, 330); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 73, + (73 << 12) / steer_resistance_large_turn, 330); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 72, + (72 << 12) / steer_resistance_large_turn, 320); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 71, + (71 << 12) / steer_resistance_large_turn, 315); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 70, + (71 << 12) / steer_resistance_large_turn, 315); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 69, + (70 << 12) / steer_resistance_large_turn, 305); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 68, + (70 << 12) / steer_resistance_large_turn, 305); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 67, + (69 << 12) / steer_resistance_large_turn, 280); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 66, + (70 << 12) / steer_resistance_large_turn, 270); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 65, + (69 << 12) / steer_resistance_large_turn, 270); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 64, + (68 << 12) / steer_resistance_large_turn, 260); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 63, + (67 << 12) / steer_resistance_large_turn, 250); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 62, + (67 << 12) / steer_resistance_large_turn, 250); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 61, + (67 << 12) / steer_resistance_large_turn, 250); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 60, + (61 << 12) / steer_resistance_large_turn, 245); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 59, + (60 << 12) / steer_resistance_large_turn, 245); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 58, + (59 << 12) / steer_resistance_large_turn, 245); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 57, + (58 << 12) / steer_resistance_large_turn, 245); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 56, + (56 << 12) / steer_resistance_large_turn, 245); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 55, + (56 << 12) / steer_resistance_large_turn, 230); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 54, + (56 << 12) / steer_resistance_large_turn, 230); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 53, + (56 << 12) / steer_resistance_large_turn, 230); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 52, + (56 << 12) / steer_resistance_large_turn, 230); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 51, + (56 << 12) / steer_resistance_large_turn, 230); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 50, + (50 << 12) / steer_resistance_large_turn, 220); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 49, + (50 << 12) / steer_resistance_large_turn, 220); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 48, + (50 << 12) / steer_resistance_large_turn, 220); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 47, + (50 << 12) / steer_resistance_large_turn, 220); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 46, + (50 << 12) / steer_resistance_large_turn, 220); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 45, + (48 << 12) / steer_resistance_large_turn, 110); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 44, + (46 << 12) / steer_resistance_large_turn, 110); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 43, + (46 << 12) / steer_resistance_large_turn, 110); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 42, + (46 << 12) / steer_resistance_large_turn, 110); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 41, + (46 << 12) / steer_resistance_large_turn, 110); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 40, + (46 << 12) / steer_resistance_large_turn, 110); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 39, + (44 << 12) / steer_resistance_large_turn, 110); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 38, + (40 << 12) / steer_resistance_large_turn, 110); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 37, + (40 << 12) / steer_resistance_large_turn, 110); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 36, + (36 << 12) / steer_resistance_large_turn, 110); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 35, + (36 << 12) / steer_resistance_large_turn, 110); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 34, + (34 << 12) / steer_resistance_large_turn, 110); + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 32, + (32 << 12) / steer_resistance_large_turn, 100); // this skips 33 + update_steering_large(player, &steer_position_delta, &steer_position, player->steerPosition, 31, + (32 << 12) / steer_resistance_large_turn, 100); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 30, (31 << 12) / steer_resistance_small_turn, 0.9f); // 0.9 * 5 - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 29, (30 << 12) / steer_resistance_small_turn, 0.9f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 28, (29 << 12) / steer_resistance_small_turn, 0.9f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 27, (28 << 12) / steer_resistance_small_turn, 0.9f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 26, (27 << 12) / steer_resistance_small_turn, 0.9f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 25, (26 << 12) / steer_resistance_small_turn, 1.0f); // 1.0 * 5 - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 24, (25 << 12) / steer_resistance_small_turn, 1.0f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 23, (24 << 12) / steer_resistance_small_turn, 1.0f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 22, (23 << 12) / steer_resistance_small_turn, 1.0f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 21, (22 << 12) / steer_resistance_small_turn, 1.0f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 20, (21 << 12) / steer_resistance_small_turn, 1.05f);// 1.05* 5 - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 19, (20 << 12) / steer_resistance_small_turn, 1.05f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 18, (19 << 12) / steer_resistance_small_turn, 1.05f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 17, (18 << 12) / steer_resistance_small_turn, 1.05f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 16, (17 << 12) / steer_resistance_small_turn, 1.05f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 15, (16 << 12) / steer_resistance_small_turn, 1.2f); // 1.2 * 5 - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 14, (15 << 12) / steer_resistance_small_turn, 1.2f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 13, (14 << 12) / steer_resistance_small_turn, 1.2f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 12, (13 << 12) / steer_resistance_small_turn, 1.2f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 11, (12 << 12) / steer_resistance_small_turn, 1.2f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 10, (14 << 12) / steer_resistance_small_turn, 1.6f); // 1.6 * 5 - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 9, (13 << 12) / steer_resistance_small_turn, 1.6f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 8, (12 << 12) / steer_resistance_small_turn, 1.6f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 7, (11 << 12) / steer_resistance_small_turn, 1.6f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 6, (10 << 12) / steer_resistance_small_turn, 1.6f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 5, (9 << 12) / steer_resistance_small_turn, 1.9f); // 1.9 * 6 - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 4, (8 << 12) / steer_resistance_small_turn, 1.9f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 3, (7 << 12) / steer_resistance_small_turn, 1.9f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 2, (6 << 12) / steer_resistance_small_turn, 1.9f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 1, (5 << 12) / steer_resistance_small_turn, 1.9f); - update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 0, 0 / steer_resistance_small_turn, 1.9f); // sum is 40.15 + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 30, + (31 << 12) / steer_resistance_small_turn, 0.9f); // 0.9 * 5 + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 29, + (30 << 12) / steer_resistance_small_turn, 0.9f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 28, + (29 << 12) / steer_resistance_small_turn, 0.9f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 27, + (28 << 12) / steer_resistance_small_turn, 0.9f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 26, + (27 << 12) / steer_resistance_small_turn, 0.9f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 25, + (26 << 12) / steer_resistance_small_turn, 1.0f); // 1.0 * 5 + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 24, + (25 << 12) / steer_resistance_small_turn, 1.0f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 23, + (24 << 12) / steer_resistance_small_turn, 1.0f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 22, + (23 << 12) / steer_resistance_small_turn, 1.0f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 21, + (22 << 12) / steer_resistance_small_turn, 1.0f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 20, + (21 << 12) / steer_resistance_small_turn, 1.05f); // 1.05* 5 + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 19, + (20 << 12) / steer_resistance_small_turn, 1.05f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 18, + (19 << 12) / steer_resistance_small_turn, 1.05f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 17, + (18 << 12) / steer_resistance_small_turn, 1.05f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 16, + (17 << 12) / steer_resistance_small_turn, 1.05f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 15, + (16 << 12) / steer_resistance_small_turn, 1.2f); // 1.2 * 5 + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 14, + (15 << 12) / steer_resistance_small_turn, 1.2f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 13, + (14 << 12) / steer_resistance_small_turn, 1.2f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 12, + (13 << 12) / steer_resistance_small_turn, 1.2f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 11, + (12 << 12) / steer_resistance_small_turn, 1.2f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 10, + (14 << 12) / steer_resistance_small_turn, 1.6f); // 1.6 * 5 + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 9, + (13 << 12) / steer_resistance_small_turn, 1.6f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 8, + (12 << 12) / steer_resistance_small_turn, 1.6f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 7, + (11 << 12) / steer_resistance_small_turn, 1.6f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 6, + (10 << 12) / steer_resistance_small_turn, 1.6f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 5, + (9 << 12) / steer_resistance_small_turn, 1.9f); // 1.9 * 6 + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 4, + (8 << 12) / steer_resistance_small_turn, 1.9f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 3, + (7 << 12) / steer_resistance_small_turn, 1.9f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 2, + (6 << 12) / steer_resistance_small_turn, 1.9f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 1, + (5 << 12) / steer_resistance_small_turn, 1.9f); + update_steering_small(player, &steer_position_delta, &steer_position, player->steerPosition, 0, + 0 / steer_resistance_small_turn, 1.9f); // sum is 40.15 if ((player->effects & DRIFTING_EFFECT) == DRIFTING_EFFECT) { var_f2_2 = (f32) ((steer_position >> 16) / 8); } else if (((player->speed / 18.0f) * 216.0f) <= 25.0f) { @@ -4315,7 +4412,8 @@ void apply_cpu_turn(Player* player, s16 targetAngle) { } player->unk_078 = var_v0 * var_f0; } - if ((((player->effects & HOP_EFFECT) != HOP_EFFECT) && (player->unk_0C0 <= 60) && (player->unk_0C0 >= -60)) || + if ((((player->effects & HOP_EFFECT) != HOP_EFFECT) && (player->unk_0C0 <= 60) && + (player->unk_0C0 >= -60)) || (((player->speed / 18.0f) * 216.0f) <= 20.0f) || ((player->effects & ENEMY_BONK_EFFECT) == ENEMY_BONK_EFFECT)) { cancel_drift_effect(player); @@ -4339,12 +4437,12 @@ void cancel_drift_effect(Player* player) { if (((player->effects & DRIFTING_EFFECT) == DRIFTING_EFFECT) && ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN)) { if ((player->unk_0C0 / DEGREES_CONVERSION_FACTOR) > 0) { // linear map, sets -53 to 40 and 53 to 53 - steer_position_new = ((((player->steerPosition >> 16) * 13) + (13*53)) / (2*53)) + 40; + steer_position_new = ((((player->steerPosition >> 16) * 13) + (13 * 53)) / (2 * 53)) + 40; player->steerPosition = steer_position_new << 16; } if ((player->unk_0C0 / DEGREES_CONVERSION_FACTOR) < 0) { // linear map, sets -53 to -53 and 53 to -40 - steer_position_new = ((((player->steerPosition >> 16) * 13) + (13*53)) / (2*53)) - 53; + steer_position_new = ((((player->steerPosition >> 16) * 13) + (13 * 53)) / (2 * 53)) - 53; player->steerPosition = steer_position_new << 16; } player->effects &= ~DRIFTING_EFFECT; @@ -4393,7 +4491,8 @@ void func_80036DB4(Player* player, Vec3f arg1, Vec3f arg2) { sp20 = player->unk_084; } else { var_f18 = player->unk_208 + ((-(player->speed / 18.0f) * 216.0f) * 1.5) + - (((player->steerPosition >> 16) * 0.1) + (-player->currentSpeed * 0.05)) + (-player->unk_20C * 50.0f); + (((player->steerPosition >> 16) * 0.1) + (-player->currentSpeed * 0.05)) + + (-player->unk_20C * 50.0f); sp20 = player->unk_084; } if ((player->effects & STAR_EFFECT) == STAR_EFFECT) { @@ -4509,7 +4608,6 @@ void func_80037614(Player* player, Vec3f arg1, Vec3f arg2) { arg2[2] = arg1[2]; } - void func_8003777C(Player* player, Vec3f arg1, Vec3f arg2) { f32 var_f12; f32 var_f2; @@ -4603,7 +4701,8 @@ void func_80037BB4(Player* player, Vec3f arg1) { arg1[2] = 0.0f; } else { if (player->unk_078 < 0) { - if (((player->effects & DRIFT_OUTSIDE_EFFECT) != DRIFT_OUTSIDE_EFFECT) || (player->driftStateCounter >= 100)) { + if (((player->effects & DRIFT_OUTSIDE_EFFECT) != DRIFT_OUTSIDE_EFFECT) || + (player->driftStateCounter >= 100)) { player->rotation[1] += player->unk_078; } if (!(player->type & PLAYER_CPU)) { @@ -4616,7 +4715,8 @@ void func_80037BB4(Player* player, Vec3f arg1) { func_80037614(player, sp20, arg1); } } else { - if (((player->effects & DRIFT_OUTSIDE_EFFECT) != DRIFT_OUTSIDE_EFFECT) || (player->driftStateCounter >= 100)) { + if (((player->effects & DRIFT_OUTSIDE_EFFECT) != DRIFT_OUTSIDE_EFFECT) || + (player->driftStateCounter >= 100)) { player->rotation[1] += player->unk_078; } if (!(player->type & PLAYER_CPU)) { @@ -4693,7 +4793,8 @@ void func_80037CFC(Player* player, struct Controller* controller, s8 playerIndex } } if ((!(player->effects & BOOST_RAMP_ASPHALT_EFFECT)) && (!(player->effects & BOOST_RAMP_WOOD_EFFECT))) { - if (((get_clamped_stickY_with_deadzone(controller) < (-0x31)) && (((player->speed / 18.0f) * 216.0f) <= 5.0f)) && + if (((get_clamped_stickY_with_deadzone(controller) < (-0x31)) && + (((player->speed / 18.0f) * 216.0f) <= 5.0f)) && (controller->button & B_BUTTON)) { player->currentSpeed = 140.0f; player->kartProps |= BACK_UP; @@ -4994,9 +5095,12 @@ void func_80038C6C(Player* player, UNUSED Camera* camera, s8 screenId, s8 player newVelocity[1] = player->velocity[1]; newVelocity[2] = player->velocity[2]; - newVelocity[0] += ((((((sp114[0] + spA4) + spF0[0])) - (newVelocity[0] * (0.12 * (player->kartFriction)))) / 6000.0) / 1); - newVelocity[2] += ((((((sp114[2] + sp9C) + spF0[2])) - (newVelocity[2] * (0.12 * (player->kartFriction)))) / 6000.0) / 1); - newVelocity[1] += ((((((sp114[1] + spA0) + spF0[1])) - (newVelocity[1] * (0.12 * (player->kartFriction)))) / 6000.0) / 1); + newVelocity[0] += + ((((((sp114[0] + spA4) + spF0[0])) - (newVelocity[0] * (0.12 * (player->kartFriction)))) / 6000.0) / 1); + newVelocity[2] += + ((((((sp114[2] + sp9C) + spF0[2])) - (newVelocity[2] * (0.12 * (player->kartFriction)))) / 6000.0) / 1); + newVelocity[1] += + ((((((sp114[1] + spA0) + spF0[1])) - (newVelocity[1] * (0.12 * (player->kartFriction)))) / 6000.0) / 1); if ((player->kartProps & LOSE_GP_RACE) == LOSE_GP_RACE) { player->kartProps &= ~LOSE_GP_RACE; } diff --git a/src/racing/actors.c b/src/racing/actors.c index 92b13e784..4bf45c797 100644 --- a/src/racing/actors.c +++ b/src/racing/actors.c @@ -755,8 +755,7 @@ UNUSED void func_8029ABD4(f32* pos, s16 state) { } void func_8029AC18(Camera* camera, Mat4 arg1, struct Actor* arg2) { - if (distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f) < - 0) { + if (distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f) < 0) { return; } diff --git a/src/racing/math_util.c b/src/racing/math_util.c index f677863d5..7224be25b 100644 --- a/src/racing/math_util.c +++ b/src/racing/math_util.c @@ -1354,12 +1354,12 @@ s32 is_between_angle(u16 angleCCW, u16 angleCW, u16 angleToCheck) { * @param preloadDistanceSquared Consider an object within this distance of viweable area as renderable * @param fovDegrees The field of view (FOV) of the camera (degrees). * @param maxDistanceSquared The maximum render distance. - * @return The xz-distance squared between the camera and the object if it's within render distance - of the camera's vision, or -1.0f if it exceeds the render distance. + * @return The xz-distance squared between the camera and the object if it's within render + distance of the camera's vision, or -1.0f if it exceeds the render distance. */ -f32 distance_if_visible(Vec3f cameraPos, Vec3f objectPos, u16 orientationY, f32 preloadDistanceSquared, - f32 fovDegrees, f32 maxDistanceSquared) { +f32 distance_if_visible(Vec3f cameraPos, Vec3f objectPos, u16 orientationY, f32 preloadDistanceSquared, f32 fovDegrees, + f32 maxDistanceSquared) { u16 angleObject; UNUSED u16 pad; u16 preloadAngle; diff --git a/src/racing/memory.c b/src/racing/memory.c index ddd6e3ab3..e80fa5f8e 100644 --- a/src/racing/memory.c +++ b/src/racing/memory.c @@ -26,44 +26,44 @@ s32 D_802B8CE4 = 0; // pad s32 memoryPadding[2]; enum PackedOp { - PG_LIGHTS_0 = 0x00, /* 0..0x14 mappés sur unpack_lights */ + PG_LIGHTS_0 = 0x00, /* 0..0x14 mappés sur unpack_lights */ /* Presets de combine renommés pour refléter les macros G_CC_* */ - PG_SETCOMBINE_CC_MODULATERGBA = 0x15, + PG_SETCOMBINE_CC_MODULATERGBA = 0x15, PG_SETCOMBINE_CC_MODULATERGBDECALA = 0x16, - PG_SETCOMBINE_CC_SHADE = 0x17, - PG_RMODE_OPA = 0x18, - PG_RMODE_TEXEDGE = 0x19, - PG_TILECFG_A = 0x1A, - PG_TILECFG_B = 0x1B, - PG_TILECFG_C = 0x1C, - PG_TILECFG_D = 0x1D, - PG_TILECFG_E = 0x1E, - PG_TILECFG_F = 0x1F, - PG_TIMG_LOADBLOCK_0 = 0x20, - PG_TIMG_LOADBLOCK_1 = 0x21, - PG_TIMG_LOADBLOCK_2 = 0x22, - PG_TIMG_LOADBLOCK_3 = 0x23, - PG_TIMG_LOADBLOCK_4 = 0x24, - PG_TIMG_LOADBLOCK_5 = 0x25, - PG_TEXTURE_ON = 0x26, - PG_TEXTURE_OFF = 0x27, - PG_VTX1 = 0x28, - PG_TRI1 = 0x29, - PG_ENDDL = 0x2A, - PG_DL = 0x2B, - PG_TILECFG_G = 0x2C, - PG_CULLDL = 0x2D, - PG_SETCOMBINE_ALT = 0x2E, - PG_RMODE_XLU = 0x2F, - PG_SPLINE3D = 0x30, - PG_VTX_BASE = 0x32, /* 0x33..0x52 → variant vtx2 */ - PG_SETCOMBINE_CC_DECALRGBA = 0x53, - PG_RMODE_OPA_DECAL = 0x54, - PG_RMODE_XLU_DECAL = 0x55, - PG_SETGEOMETRYMODE = 0x56, - PG_CLEARGEOMETRYMODE = 0x57, - PG_TRI2 = 0x58, - PG_EOF = 0xFF, + PG_SETCOMBINE_CC_SHADE = 0x17, + PG_RMODE_OPA = 0x18, + PG_RMODE_TEXEDGE = 0x19, + PG_TILECFG_A = 0x1A, + PG_TILECFG_B = 0x1B, + PG_TILECFG_C = 0x1C, + PG_TILECFG_D = 0x1D, + PG_TILECFG_E = 0x1E, + PG_TILECFG_F = 0x1F, + PG_TIMG_LOADBLOCK_0 = 0x20, + PG_TIMG_LOADBLOCK_1 = 0x21, + PG_TIMG_LOADBLOCK_2 = 0x22, + PG_TIMG_LOADBLOCK_3 = 0x23, + PG_TIMG_LOADBLOCK_4 = 0x24, + PG_TIMG_LOADBLOCK_5 = 0x25, + PG_TEXTURE_ON = 0x26, + PG_TEXTURE_OFF = 0x27, + PG_VTX1 = 0x28, + PG_TRI1 = 0x29, + PG_ENDDL = 0x2A, + PG_DL = 0x2B, + PG_TILECFG_G = 0x2C, + PG_CULLDL = 0x2D, + PG_SETCOMBINE_ALT = 0x2E, + PG_RMODE_XLU = 0x2F, + PG_SPLINE3D = 0x30, + PG_VTX_BASE = 0x32, /* 0x33..0x52 → variant vtx2 */ + PG_SETCOMBINE_CC_DECALRGBA = 0x53, + PG_RMODE_OPA_DECAL = 0x54, + PG_RMODE_XLU_DECAL = 0x55, + PG_SETGEOMETRYMODE = 0x56, + PG_CLEARGEOMETRYMODE = 0x57, + PG_TRI2 = 0x58, + PG_EOF = 0xFF, }; /** diff --git a/src/racing/race_logic.c b/src/racing/race_logic.c index c209d2e9a..949f799f3 100644 --- a/src/racing/race_logic.c +++ b/src/racing/race_logic.c @@ -480,11 +480,11 @@ void play_music_for_current_track(s32 track) { case COURSE_BIG_DONUT: play_sequence(SEQ_TRACK_BATTLE); break; - + #ifdef AVOID_UB - default: //! @BUG: No default case. Enable AVOID_UB for custom tracks. - play_sequence(SEQ_TRACK_RACEWAY); - break; + default: //! @BUG: No default case. Enable AVOID_UB for custom tracks. + play_sequence(SEQ_TRACK_RACEWAY); + break; #endif } } @@ -916,7 +916,8 @@ void func_8028FCBC(void) { } switch (D_800DC510) { case 0: - if (!gDemoMode) { // If we're not in the demo mode, play the starting fanfare for the current mode (Grand Prix / Time Trials / VS / Battle) + if (!gDemoMode) { // If we're not in the demo mode, play the starting fanfare for the current mode (Grand + // Prix / Time Trials / VS / Battle) if (gModeSelection == GRAND_PRIX) { play_sequence2(SEQ_EVENT_RACE_STARTING); play_sound2(SOUND_ACTION_REV_ENGINE); diff --git a/src/render_objects.c b/src/render_objects.c index 21ac663f1..da90ace2a 100644 --- a/src/render_objects.c +++ b/src/render_objects.c @@ -1798,7 +1798,6 @@ void render_texture_tile_rgba32_block(s16 x, s16 y, u8* texture, u32 width, u32 texSize -= (width * heightDiv * 4); } - centerY += heightDiv; } @@ -2470,25 +2469,29 @@ void draw_minimap_character(s32 arg0, s32 playerId, s32 characterId) { f32 thing1; s16 x; s16 y; - Player *player = &gPlayerOne[playerId]; + Player* player = &gPlayerOne[playerId]; if (player->type & (1 << 15)) { thing0 = player->pos[0] * gMiniMapMarkerScale; thing1 = player->pos[2] * gMiniMapMarkerScale; - x = ((gMiniMapFinishLineX[arg0] + D_8018D2F0) - (D_8018D2B0 / 2)) + gMiniMapX + (s16)(thing0); - y = ((gMiniMapFinishLineY[arg0] + D_8018D2F8) - (D_8018D2B8 / 2)) + gMiniMapY + (s16)(thing1); + x = ((gMiniMapFinishLineX[arg0] + D_8018D2F0) - (D_8018D2B0 / 2)) + gMiniMapX + (s16) (thing0); + y = ((gMiniMapFinishLineY[arg0] + D_8018D2F8) - (D_8018D2B8 / 2)) + gMiniMapY + (s16) (thing1); // huh? if (characterId != 8) { if ((gGPCurrentRaceRankByPlayerId[playerId] == 0) && (gModeSelection != 3) && (gModeSelection != 1)) { - func_80046424(x, y, player->rotation[1] + 0x8000, 1.0f, (u8*)&common_texture_minimap_kart_mario[characterId * 64], common_vtx_player_minimap_icon, 8, 8, 8, 8); + func_80046424(x, y, player->rotation[1] + 0x8000, 1.0f, + (u8*) &common_texture_minimap_kart_mario[characterId * 64], + common_vtx_player_minimap_icon, 8, 8, 8, 8); } else { - func_800463B0(x, y, player->rotation[1] + 0x8000, 1.0f, (u8*)&common_texture_minimap_kart_mario[characterId * 64], common_vtx_player_minimap_icon, 8, 8, 8, 8); + func_800463B0(x, y, player->rotation[1] + 0x8000, 1.0f, + (u8*) &common_texture_minimap_kart_mario[characterId * 64], + common_vtx_player_minimap_icon, 8, 8, 8, 8); } } else { if (gGPCurrentRaceRankByPlayerId[playerId] == 0) { - func_8004C450(x, y, 8, 8, (u8 *) common_texture_minimap_progress_dot); + func_8004C450(x, y, 8, 8, (u8*) common_texture_minimap_progress_dot); } else { - draw_hud_2d_texture(x, y, 8, 8, (u8 *) common_texture_minimap_progress_dot); + draw_hud_2d_texture(x, y, 8, 8, (u8*) common_texture_minimap_progress_dot); } } } @@ -2944,14 +2947,14 @@ void func_80050E34(s32 playerId, s32 arg1) { s32 objectIndex; s32 spD0; s32 spCC; - Player *dummy = &gPlayerOne[playerId]; + Player* dummy = &gPlayerOne[playerId]; s32 spC4; s32 lapCount; s32 characterId; s32 spB8; s32 temp_v0_2; Object* object; - Player *player = &gPlayerOne[playerId]; + Player* player = &gPlayerOne[playerId]; lapCount = gLapCountByPlayerId[playerId]; characterId = player->characterId; diff --git a/src/render_player.c b/src/render_player.c index 1106406c9..56243a654 100644 --- a/src/render_player.c +++ b/src/render_player.c @@ -483,7 +483,8 @@ void render_players_on_screen_one(void) { s32 junk[] = { 0, 0, 0 }; -Vtx* gPlayerVtx[] = { gPlayerOneVtx, gPlayerTwoVtx, gPlayerThreeVtx, gPlayerFourVtx, gPlayerFiveVtx, gPlayerSixVtx, gPlayerSevenVtx, gPlayerEightVtx }; +Vtx* gPlayerVtx[] = { gPlayerOneVtx, gPlayerTwoVtx, gPlayerThreeVtx, gPlayerFourVtx, + gPlayerFiveVtx, gPlayerSixVtx, gPlayerSevenVtx, gPlayerEightVtx }; f32 gCharacterSize[] = { MARIO_SIZE, LUIGI_SIZE, YOSHI_SIZE, TOAD_SIZE, DK_SIZE, WARIO_SIZE, PEACH_SIZE, BOWSER_SIZE }; @@ -1074,8 +1075,8 @@ void change_player_color_effect_rgb(UNUSED Player* player, s8 playerIndex, s32 a gPlayerRedEffect[playerIndex] = (s16) ((f32) gPlayerRedEffect[playerIndex] - ((gPlayerRedEffect[playerIndex] - ((arg2 >> 16) & 0xFF)) * alpha)); - gPlayerGreenEffect[playerIndex] = - (s16) ((f32) gPlayerGreenEffect[playerIndex] - ((gPlayerGreenEffect[playerIndex] - ((arg2 >> 8) & 0xFF)) * alpha)); + gPlayerGreenEffect[playerIndex] = (s16) ((f32) gPlayerGreenEffect[playerIndex] - + ((gPlayerGreenEffect[playerIndex] - ((arg2 >> 8) & 0xFF)) * alpha)); gPlayerBlueEffect[playerIndex] = (s16) ((f32) gPlayerBlueEffect[playerIndex] - ((gPlayerBlueEffect[playerIndex] - (arg2 & 0xFF)) * alpha)); @@ -1094,10 +1095,14 @@ void change_player_color_effect_cmy(UNUSED Player* player, s8 playerIndex, s32 a bool is_player_under_light_luigi_raceway(Player* player, s8 playerIndex) { switch (gCurrentCourseId) { case COURSE_LUIGI_RACEWAY: - if (((gNearestPathPointByPlayerId[playerIndex] >= 0x14F) && (gNearestPathPointByPlayerId[playerIndex] < 0x158)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x15E) && (gNearestPathPointByPlayerId[playerIndex] < 0x164)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x169) && (gNearestPathPointByPlayerId[playerIndex] < 0x170)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x174) && (gNearestPathPointByPlayerId[playerIndex] < 0x17A)) || + if (((gNearestPathPointByPlayerId[playerIndex] >= 0x14F) && + (gNearestPathPointByPlayerId[playerIndex] < 0x158)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x15E) && + (gNearestPathPointByPlayerId[playerIndex] < 0x164)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x169) && + (gNearestPathPointByPlayerId[playerIndex] < 0x170)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x174) && + (gNearestPathPointByPlayerId[playerIndex] < 0x17A)) || ((gNearestPathPointByPlayerId[playerIndex] >= 0x17E) && (gNearestPathPointByPlayerId[playerIndex] < 0x184))) { // under a light in the tunnel change_player_color_effect_rgb(player, playerIndex, COLOR_LIGHT, 0.3f); @@ -1115,18 +1120,26 @@ bool is_player_under_light_luigi_raceway(Player* player, s8 playerIndex) { void render_light_environment_on_player(Player* player, s8 playerIndex) { switch (gCurrentCourseId) { case COURSE_BOWSER_CASTLE: - if (((gNearestPathPointByPlayerId[playerIndex] >= 0x15) && (gNearestPathPointByPlayerId[playerIndex] < 0x2A)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x14D) && (gNearestPathPointByPlayerId[playerIndex] < 0x15C)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x1D1) && (gNearestPathPointByPlayerId[playerIndex] < 0x1E4)) || + if (((gNearestPathPointByPlayerId[playerIndex] >= 0x15) && + (gNearestPathPointByPlayerId[playerIndex] < 0x2A)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x14D) && + (gNearestPathPointByPlayerId[playerIndex] < 0x15C)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x1D1) && + (gNearestPathPointByPlayerId[playerIndex] < 0x1E4)) || (player->collision.surfaceDistance[2] >= 500.0f)) { // over lava change_player_color_effect_rgb(player, playerIndex, COLOR_LAVA, 0.3f); change_player_color_effect_cmy(player, playerIndex, 0x004040, 0.3f); D_80164B80[playerIndex] = 0; - } else if (((gNearestPathPointByPlayerId[playerIndex] >= 0xF1) && (gNearestPathPointByPlayerId[playerIndex] < 0xF5)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0xFB) && (gNearestPathPointByPlayerId[playerIndex] < 0xFF)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x105) && (gNearestPathPointByPlayerId[playerIndex] < 0x109)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x10F) && (gNearestPathPointByPlayerId[playerIndex] < 0x113)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x145) && (gNearestPathPointByPlayerId[playerIndex] < 0x14A)) || + } else if (((gNearestPathPointByPlayerId[playerIndex] >= 0xF1) && + (gNearestPathPointByPlayerId[playerIndex] < 0xF5)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0xFB) && + (gNearestPathPointByPlayerId[playerIndex] < 0xFF)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x105) && + (gNearestPathPointByPlayerId[playerIndex] < 0x109)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x10F) && + (gNearestPathPointByPlayerId[playerIndex] < 0x113)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x145) && + (gNearestPathPointByPlayerId[playerIndex] < 0x14A)) || ((gNearestPathPointByPlayerId[playerIndex] >= 0x15E) && (gNearestPathPointByPlayerId[playerIndex] < 0x163))) { // under a lamp change_player_color_effect_rgb(player, playerIndex, COLOR_LIGHT, 0.3f); @@ -1139,23 +1152,40 @@ void render_light_environment_on_player(Player* player, s8 playerIndex) { } break; case COURSE_BANSHEE_BOARDWALK: - if (((gNearestPathPointByPlayerId[playerIndex] >= 0xD) && (gNearestPathPointByPlayerId[playerIndex] < 0x15)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x29) && (gNearestPathPointByPlayerId[playerIndex] < 0x39)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x46) && (gNearestPathPointByPlayerId[playerIndex] < 0x4E)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x5F) && (gNearestPathPointByPlayerId[playerIndex] < 0x67)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x7B) && (gNearestPathPointByPlayerId[playerIndex] < 0x86)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x9D) && (gNearestPathPointByPlayerId[playerIndex] < 0xA6)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0xB9) && (gNearestPathPointByPlayerId[playerIndex] < 0xC3)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0xB9) && (gNearestPathPointByPlayerId[playerIndex] < 0xC3)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0xD7) && (gNearestPathPointByPlayerId[playerIndex] < 0xE1)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x10E) && (gNearestPathPointByPlayerId[playerIndex] < 0x119)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x154) && (gNearestPathPointByPlayerId[playerIndex] < 0x15F)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x1EF) && (gNearestPathPointByPlayerId[playerIndex] < 0x1F7)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x202) && (gNearestPathPointByPlayerId[playerIndex] < 0x209)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x216) && (gNearestPathPointByPlayerId[playerIndex] < 0x21D)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x230) && (gNearestPathPointByPlayerId[playerIndex] < 0x23A)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x24C) && (gNearestPathPointByPlayerId[playerIndex] < 0x256)) || - ((gNearestPathPointByPlayerId[playerIndex] >= 0x288) && (gNearestPathPointByPlayerId[playerIndex] < 0x269)) || + if (((gNearestPathPointByPlayerId[playerIndex] >= 0xD) && + (gNearestPathPointByPlayerId[playerIndex] < 0x15)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x29) && + (gNearestPathPointByPlayerId[playerIndex] < 0x39)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x46) && + (gNearestPathPointByPlayerId[playerIndex] < 0x4E)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x5F) && + (gNearestPathPointByPlayerId[playerIndex] < 0x67)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x7B) && + (gNearestPathPointByPlayerId[playerIndex] < 0x86)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x9D) && + (gNearestPathPointByPlayerId[playerIndex] < 0xA6)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0xB9) && + (gNearestPathPointByPlayerId[playerIndex] < 0xC3)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0xB9) && + (gNearestPathPointByPlayerId[playerIndex] < 0xC3)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0xD7) && + (gNearestPathPointByPlayerId[playerIndex] < 0xE1)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x10E) && + (gNearestPathPointByPlayerId[playerIndex] < 0x119)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x154) && + (gNearestPathPointByPlayerId[playerIndex] < 0x15F)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x1EF) && + (gNearestPathPointByPlayerId[playerIndex] < 0x1F7)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x202) && + (gNearestPathPointByPlayerId[playerIndex] < 0x209)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x216) && + (gNearestPathPointByPlayerId[playerIndex] < 0x21D)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x230) && + (gNearestPathPointByPlayerId[playerIndex] < 0x23A)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x24C) && + (gNearestPathPointByPlayerId[playerIndex] < 0x256)) || + ((gNearestPathPointByPlayerId[playerIndex] >= 0x288) && + (gNearestPathPointByPlayerId[playerIndex] < 0x269)) || ((gNearestPathPointByPlayerId[playerIndex] >= 0x274) && (gNearestPathPointByPlayerId[playerIndex] < 0x27E))) { // under a lamp change_player_color_effect_rgb(player, playerIndex, COLOR_LIGHT, 0.3f); diff --git a/src/save.c b/src/save.c index 12d4631f7..08a372aae 100644 --- a/src/save.c +++ b/src/save.c @@ -330,10 +330,10 @@ s32 func_800B5218(void) { fastestLapIndex = 0; character = *gCharacterSelections; for (checkLapIndex = 1; checkLapIndex != 3; checkLapIndex++) { - if ((s32)playerHUD->lapDurations[checkLapIndex] < (s32)playerHUD->lapDurations[fastestLapIndex]) { + if ((s32) playerHUD->lapDurations[checkLapIndex] < (s32) playerHUD->lapDurations[fastestLapIndex]) { lapBitmask = 1 << checkLapIndex; fastestLapIndex = checkLapIndex; - } else if ((s32)playerHUD->lapDurations[fastestLapIndex] == (s32)playerHUD->lapDurations[checkLapIndex]) { + } else if ((s32) playerHUD->lapDurations[fastestLapIndex] == (s32) playerHUD->lapDurations[checkLapIndex]) { lapBitmask |= 1 << checkLapIndex; } } @@ -471,7 +471,7 @@ void func_800B559C(s32 arg0) { * But only unknown bytes 7 and 8 ever get set, so why the extra 3, and why in chunks of 17? **/ u8 func_800B578C(s32 arg0) { - u8* times = (u8*)&gSaveData.onlyBestTimeTrialRecords[arg0]; + u8* times = (u8*) &gSaveData.onlyBestTimeTrialRecords[arg0]; s32 checksum = 0; s32 i; s32 j; @@ -952,14 +952,14 @@ u8 func_800B6828(s32 arg0) { u8 func_800B68F4(s32 arg0) { struct_8018EE10_entry* var_v0 = gSomeDLBuffer; - u8 *addr = (u8*)(var_v0 + arg0); + u8* addr = (u8*) (var_v0 + arg0); s32 i = 0; u32 checksum = 0; - - for (i = 0; i < (s32)offsetof(struct_8018EE10_entry, pad_43); i++) { + + for (i = 0; i < (s32) offsetof(struct_8018EE10_entry, pad_43); i++) { checksum += (addr[i] * (arg0 + 1)) + i; } - + return checksum; } diff --git a/src/update_objects.c b/src/update_objects.c index 929c49d0f..6d6731034 100644 --- a/src/update_objects.c +++ b/src/update_objects.c @@ -6738,11 +6738,12 @@ void update_crabs(void) { } void func_80082F1C(s32 objectIndex, s32 arg1) { - gObjectList[objectIndex].model = (Gfx*)d_course_yoshi_valley_unk5; - gObjectList[objectIndex].vertex = (Vtx*)d_course_yoshi_valley_unk4; + gObjectList[objectIndex].model = (Gfx*) d_course_yoshi_valley_unk5; + gObjectList[objectIndex].vertex = (Vtx*) d_course_yoshi_valley_unk4; gObjectList[objectIndex].sizeScaling = 0.027f; object_next_state(objectIndex); - set_obj_origin_pos(objectIndex, D_800E5DF4[arg1 * 4 + 0] * xOrientation, D_800E5DF4[arg1 * 4 + 1], D_800E5DF4[arg1 * 4 + 2]); + set_obj_origin_pos(objectIndex, D_800E5DF4[arg1 * 4 + 0] * xOrientation, D_800E5DF4[arg1 * 4 + 1], + D_800E5DF4[arg1 * 4 + 2]); set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); set_obj_direction_angle(objectIndex, 0U, D_800E5DF4[arg1 * 4 + 3], 0U); } @@ -7807,7 +7808,8 @@ void func_80085F74(s32 objectIndex) { } void func_80086074(s32 objectIndex, s32 arg1) { - set_obj_origin_pos(objectIndex, D_800E6734[arg1 * 3 + 0] * xOrientation, D_800E6734[arg1 * 3 + 1], D_800E6734[arg1 * 3 + 2]); + set_obj_origin_pos(objectIndex, D_800E6734[arg1 * 3 + 0] * xOrientation, D_800E6734[arg1 * 3 + 1], + D_800E6734[arg1 * 3 + 2]); init_texture_object(objectIndex, &d_course_rainbow_road_static_tluts[arg1 * 256], &d_course_rainbow_road_static_textures[arg1], 64, 64); func_80085BB4(objectIndex);