Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
ae057c0
match Init__8KartGameFi
9mina Oct 5, 2025
f27e3c3
match DoItmCancel__8KartGameFv
9mina Oct 5, 2025
82717c4
match GetGorundTireNum__8KartGameFv
9mina Oct 6, 2025
a48a289
match WatchEffectAcceleration__8KartGameFv
9mina Oct 6, 2025
ad53aea
match WatchAcceleration__8KartGameFv
9mina Oct 6, 2025
c2d17e6
match DoStopItm__8KartGameFv
9mina Oct 6, 2025
d2136d6
fix redeclaration
9mina Oct 6, 2025
de1e82d
match DoChange__8KartGameFv
9mina Oct 8, 2025
0b46ed9
match DoDriftTurboSterr__8KartGameFv
9mina Oct 8, 2025
702b843
match SetDriftTurboSterr__8KartGameFv
9mina Oct 8, 2025
c40dd0d
cleanup
9mina Oct 8, 2025
64bfadf
KartCtrlStrat: WIP
9mina Oct 11, 2025
561a0d9
match DoSlide__8KartGameFv
9mina Oct 12, 2025
92ee7ee
enum cleanup
9mina Oct 12, 2025
2aa59e5
match CheckDriftTurbo__8KartGameFv
9mina Nov 9, 2025
1e1743e
match DoRollAnim__8KartGameFv
9mina Nov 11, 2025
d922f2d
match DoDriftClear__8KartGameFv
9mina Nov 11, 2025
b015ad7
match DoRoll__8KartGameFv (98%)
9mina Nov 29, 2025
0269c5c
match DoWarmUpRoll__8KartGameFv
9mina Jan 20, 2026
845e0d4
match DoRoll__8KartGameFv
9mina Jan 20, 2026
b2464f0
match DoRollOver__8KartGameFv
9mina Jan 20, 2026
75c9b7d
match DoTestPitch__8KartGameFv
9mina Jan 20, 2026
c35e418
wip DoLiftTurbo__8KartGameFv
9mina Jan 28, 2026
5bc585d
kartBody: resolved DriftRight/Left
Apr 2, 2026
38c3e73
match DoLiftTurbo__8KartGameFv
May 15, 2026
c3cab4f
match DoActionCtrl__8KartGameFv
May 15, 2026
d0a094e
match DoFlagCtrl__8KartGameFv
9mina May 21, 2026
d2b31ab
match AfterItemWatchMan__8KartGameFv
9mina May 21, 2026
de1a23c
match DoPushStart__8KartGameFv
9mina May 21, 2026
133170f
match DoBalance__8KartGameFPff
9mina May 21, 2026
18ab2fc
match MakeClear__8KartGameFv
9mina May 21, 2026
1d8a38e
match ItemWatchMan__8KartGameFP7ItemObj
9mina May 21, 2026
67e3570
match SetRank__8KartGameFv
9mina May 21, 2026
1eb9fc8
match CheckBalloon__8KartGameFv
9mina May 22, 2026
cada954
kartCtrlInfo: change HaveBallon return type to bool
9mina Jun 14, 2026
2b5f052
match MakeBoardDash__8KartGameFv
9mina Jun 14, 2026
8498650
match DoRollThrow__8KartGameFv
9mina Jun 14, 2026
1ffe57c
removed leading whitespace
9mina Jul 18, 2026
e46e77b
match MakeJumpDash__8KartGameFv
9mina Jul 18, 2026
254839e
Merge branch 'doldecomp:main' into main
9mina Jul 18, 2026
e3184be
match MakeSpJumpDash__8KartGameFv
9mina Jul 18, 2026
7551ce3
match MakeMashDash__8KartGameFv
9mina Jul 18, 2026
5bebe65
match MakeGoldenMashDash__8KartGameFv
9mina Jul 19, 2026
a2c3b8e
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