Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
685f2e2
match Init__8KartGameFi
9mina Oct 5, 2025
d17c5a1
match DoItmCancel__8KartGameFv
9mina Oct 5, 2025
7bd4d9f
match GetGorundTireNum__8KartGameFv
9mina Oct 6, 2025
50cbedb
match WatchEffectAcceleration__8KartGameFv
9mina Oct 6, 2025
787a437
match WatchAcceleration__8KartGameFv
9mina Oct 6, 2025
809197e
match DoStopItm__8KartGameFv
9mina Oct 6, 2025
dd43cca
fix redeclaration
9mina Oct 6, 2025
f521360
match DoChange__8KartGameFv
9mina Oct 8, 2025
42cd945
match DoDriftTurboSterr__8KartGameFv
9mina Oct 8, 2025
a7b9369
match SetDriftTurboSterr__8KartGameFv
9mina Oct 8, 2025
a45d06b
cleanup
9mina Oct 8, 2025
f133c60
KartCtrlStrat: WIP
9mina Oct 11, 2025
c37031b
match DoSlide__8KartGameFv
9mina Oct 12, 2025
1932088
enum cleanup
9mina Oct 12, 2025
bd979e9
match CheckDriftTurbo__8KartGameFv
9mina Nov 9, 2025
09c6b24
match DoRollAnim__8KartGameFv
9mina Nov 11, 2025
16c3197
match DoDriftClear__8KartGameFv
9mina Nov 11, 2025
73c8409
match DoRoll__8KartGameFv (98%)
9mina Nov 29, 2025
3854e32
match DoWarmUpRoll__8KartGameFv
9mina Jan 20, 2026
eb136f4
match DoRoll__8KartGameFv
9mina Jan 20, 2026
37c5b63
match DoRollOver__8KartGameFv
9mina Jan 20, 2026
472ec7f
match DoTestPitch__8KartGameFv
9mina Jan 20, 2026
58baed8
wip DoLiftTurbo__8KartGameFv
9mina Jan 28, 2026
e7b5748
kartBody: resolved DriftRight/Left
Apr 2, 2026
b6ea2de
match DoLiftTurbo__8KartGameFv
May 15, 2026
738e879
match DoActionCtrl__8KartGameFv
May 15, 2026
1287e8b
match DoFlagCtrl__8KartGameFv
9mina May 21, 2026
41a392a
match AfterItemWatchMan__8KartGameFv
9mina May 21, 2026
aac6459
match DoPushStart__8KartGameFv
9mina May 21, 2026
7de55b6
match DoBalance__8KartGameFPff
9mina May 21, 2026
d4284e6
match MakeClear__8KartGameFv
9mina May 21, 2026
9d224c5
match ItemWatchMan__8KartGameFP7ItemObj
9mina May 21, 2026
1bf9514
match SetRank__8KartGameFv
9mina May 21, 2026
387d190
match CheckBalloon__8KartGameFv
9mina May 22, 2026
c2df713
kartCtrlInfo: change HaveBallon return type to bool
9mina Jun 14, 2026
c593e6f
match MakeBoardDash__8KartGameFv
9mina Jun 14, 2026
6e7bce5
match DoRollThrow__8KartGameFv
9mina Jun 14, 2026
66dbe2d
removed leading whitespace
9mina Jul 18, 2026
9b9f24c
match MakeJumpDash__8KartGameFv
9mina Jul 18, 2026
19f0b51
match MakeSpJumpDash__8KartGameFv
9mina Jul 18, 2026
9af152a
match MakeMashDash__8KartGameFv
9mina Jul 18, 2026
70fdf29
match MakeGoldenMashDash__8KartGameFv
9mina Jul 19, 2026
0ba9e95
match MakeStartDash__8KartGameFv
9mina Jul 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions include/Sato/GeographyObj.h
Original file line number Diff line number Diff line change
Expand Up @@ -297,14 +297,14 @@ class ExGeographyObj : public GeographyObj {

~ExGeographyObj() {}
// TODO: check return types
virtual bool Search_Bound(const JGeometry::TVec3f &) { return false; }
virtual bool Search_BoundRadius(const JGeometry::TVec3f &, f32) { return false; }
virtual void Search(const JGeometry::TVec3f &, const JGeometry::TVec3f &) {}
virtual void AddVel(const JGeometry::TVec3f &, const JGeometry::TVec3f &) {}
virtual void Search_Wall(const JGeometry::TVec3f &, f32) { }
virtual void draw(Mtx) {}
virtual f32 getMaxHeight() const { return 0.0f; }
virtual void lockDisplayList() {}
virtual bool Search_Bound(const JGeometry::TVec3f &) { return false; } // 80
virtual bool Search_BoundRadius(const JGeometry::TVec3f &, f32) { return false; } // 84
virtual void Search(const JGeometry::TVec3f &, const JGeometry::TVec3f &) {} // 88
virtual void AddVel(const JGeometry::TVec3f &, const JGeometry::TVec3f &) {} // 8C
virtual void Search_Wall(const JGeometry::TVec3f &, f32) { } // 90
virtual void draw(Mtx) {} // 94
virtual f32 getMaxHeight() const { return 0.0f; } // 98
virtual void lockDisplayList() {} // 9C

template<class T>
static T *ExNew(const CrsData::SObject &object) { return new T(object); }
Expand Down
8 changes: 6 additions & 2 deletions include/Sato/JPEffectPerformer.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,12 @@ class JPEffectPerformer
Effect_UnknownF = 0xF,
Effect_Unknown12 = 0x12, // Star react.
Effect_Burn = 0x13,
Effect_Unknown17 = 0x17,
Effect_Unknown1b = 0x1b, // something slide related
Effect_Unknown1A = 0x1A,
Effect_Star = 0x1c,
Effect_Fireball = 0x24,
Effect_Unknown23 = 0x23,
Effect_Fireball = 0x24
};

void init(); // 80266010
Expand All @@ -34,7 +38,7 @@ class JPEffectPerformer
void getNearestCamPtr(const JGeometry::TVec3f &); // 8026651c
static void setEffect(EffectType, int, const JGeometry::TVec3f &, u8); // 80266728
void setEffectSplash(CrsGround *, int, const JGeometry::TVec3f &); // 80266858
void setEffectEachCam(EffectType, int, u8, u8); // 80266a8c
static void setEffectEachCam(EffectType, int, u8, u8); // 80266a8c
void setLandEffect(const JGeometry::TVec3f &, CrsGround *, int); // 80266bf0
void getLandingEfctName(CrsGround *); // 80266d20
void getKartEfctEmts(int); // 80266dcc
Expand Down
28 changes: 18 additions & 10 deletions include/Yamamoto/KartGame.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class KartGame
{
public:
// In kartCtrlStrat.cpp
void Init(int);
bool Init(int kartNo);
void GetGorundTireNum();
void WatchEffectAcceleration();
void WatchAcceleration();
Expand All @@ -22,17 +22,17 @@ class KartGame
void DoDriftTurboSterr();
void SetDriftTurboSterr();
void CheckDriftTurbo();
void DoWarmUpRoll();
f32 DoWarmUpRoll();
void DoRollAnim();
void DoDriftClear();
void DoRoll();
void DoTestPitch();
void DoLiftTurbo();
void DoTurbo();
void DoRollThrow();
void DoRollOver();
int DoRollOver();
void DoWanWan();
void DoPushStart();
bool DoPushStart();
void DoBalance(f32 *, f32);
void MakeClear();
void MakeBoardDash();
Expand All @@ -54,7 +54,7 @@ class KartGame
bool CheckBalloon();
void SetRank();
void RankWatchMan();
void ItemWatchMan(ItemObj *);
void ItemWatchMan(ItemObj *incomingItem);
void AfterItemWatchMan();
void DoFlagCtrl();
void KeepWatch();
Expand Down Expand Up @@ -89,13 +89,21 @@ class KartGame
// void FrameWorkL(f32, f32, KartSus *);
// void DoTurboPower();
// void CheckBalloonPlayer();
KartBody *mBody;
u8 _4[0x12 - 004];
u16 mCountDownDuration;
u8 _14[0x20 - 0x14];
KartBody *mBody; // 00
u32 _4;
u8 _8; // probably a bitmask
u8 _9;
u8 _A;
u8 mTimeToChange;
u8 _C[0x2];
u16 _E;
u16 _10;
u16 mCountDownDuration; // 12
ItemObj *mIncomingItem; // 14, the item that's about to collide with the kart
float _18[2];
JGeometry::TVec3f _20;
JGeometry::TVec3f _2C;
JGeometry::TVec3f _34;
JGeometry::TVec3f _38;
};

#endif KARTGAME_H
8 changes: 5 additions & 3 deletions include/Yamamoto/KartRescue.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,14 @@ class KartRescue

// Inline/Unused
// void DoHang();
// private:
u8 _0[0xc]; //
CrsGround mGround; // c
u8 _6c[0x74 - 0x6c]; // padding up to offset 0x74
u8 mFlags; // 74
u8 _75[0x8c - 0x75]; // remaining padding
u8 mFlags; // 74 0x20: in rescue animation
u8 _75;
u8 mState; // 0: no rescue 2: got out of course 3: lakitu holds us 4: lakitu lets us down
u8 _77; // seems to be some kind of frame counter when getting rescued
u8 _78[0x8c - 0x78]; // remaining padding
JGeometry::TVec3f _8c; //
JGeometry::TVec3f _98; //
JGeometry::TVec3f _a4; //
Expand Down
36 changes: 33 additions & 3 deletions include/Yamamoto/kartBody.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,36 @@
class KartBody
{
public:
// TODO: move in KartGame
enum GameStatus {
HasCoDriver = 1<<0,
GsUnknown3 = 1<<3,
};

enum CarStatus {
DriftLeft = 1<<0,
DriftRight = 1<<1,
DoesSlide = 1<<2,
CsUnknown3 = 1<<3,
CsUnknown5 = 1<<5,
InDriverChange = 1<<7,
CsUnknown8 = 1<<8,
CsUnknown9 = 1<<9,
CsUnknown10 = 1<<10,
CsUnknown11 = 1<<11,
CsUnknown12 = 1<<12,
CsUnknown14 = 1<<14,
CsUnknown15 = 1<<15,
CsUnknown17 = 1<<17,
CsUnknown18 = 1<<18,
CsUnknown20 = 1<<20,
CsUnknown22 = 1<<22,
CsUnknown25 = 1<<25,
CsUnknown26 = 1<<26,
CsUnknown27 = 1<<27,
CsUnknown29 = 1<<29,
};

KartBody() {}

void DegubBody(u32);
Expand Down Expand Up @@ -102,7 +132,7 @@ class KartBody
KartSus *mKartSus[4];
ExModel *mBodyModel;
DriverModel *mDriverModels[2];
ExModel *mExModels[2];
DriverModel *mExModels[2];
KartShadowModel *mShadowModel;
CrsGround mBodyGround;
CrsArea mShadowArea;
Expand Down Expand Up @@ -285,7 +315,7 @@ class KartBody
f32 _564;
f32 _568;
u8 _56c[4]; // padding?
u64 mCarStatus; // 570, 574
u64 mCarStatus; // 570, 574 | 0x400000: could be off track
u32 mGameStatus; // 578
u32 _57c;
u32 _580;
Expand All @@ -311,7 +341,7 @@ class KartBody
u8 mMynum;
u8 _5b4;
u8 _5b5; // also some timer
u8 _5b6; // dash timer?
u8 mSlideTimer; // dash timer?
u8 mCameraNum;
u8 _5b8[8];
u8 _5c0;
Expand Down
2 changes: 1 addition & 1 deletion include/Yamamoto/kartCtrl.h
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ class KartCtrl : public KartMat // WHAT THE HELL ARE YOU DOING
double GetTireRadius(int);
bool IsBurn(int);
bool IsWallReact(int);
u32 HaveBalloon(int);
bool HaveBalloon(int);
int GetDriftCnt(int);
bool IsMiniGame();
bool IsMiniGameEnd();
Expand Down
2 changes: 1 addition & 1 deletion include/Yamamoto/kartSus.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ class KartSus
f32 _10c;
f32 _110;
u8 _114[0x124 - 0x114];
u32 _124;
u32 _124; // bitmask? 0: on ground?
Mtx _128;
Mtx _158;
Mtx _188;
Expand Down
2 changes: 1 addition & 1 deletion src/Yamamoto/kartBody.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1926,7 +1926,7 @@ void KartBody::Init(int index) {
_5b0 = 0;
_5b1 = 0;
mDriver = 0;
_5b6 = 0;
mSlideTimer = 0;
mMynum = 0;
_5c5 = 0;
_592 = 0;
Expand Down
2 changes: 1 addition & 1 deletion src/Yamamoto/kartCtrlInfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -668,7 +668,7 @@ bool KartCtrl::IsWallReact(int kartIndex) {
}
}

u32 KartCtrl::HaveBalloon(int kartIndex) {
bool KartCtrl::HaveBalloon(int kartIndex) {
getKartBody(kartIndex);
return RCMGetKartChecker(kartIndex)->getBalloonNumber() == 0;
}
Expand Down
Loading