Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion config/RMCP01/module/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3056,7 +3056,7 @@ KartPart_vf_2c = .text:0x80592E5C; // type:function size:0x84 scope:global align
fn_1_82B2C = .text:0x80592EE0; // type:function size:0x6C
fn_1_82B98 = .text:0x80592F4C; // type:function size:0x5C
initPlayerTypeTemporaries = .text:0x80592FA8; // type:function size:0x18 scope:global align:4
__ct__Q24Kart12KartSettingsFv = .text:0x80592FC0; // type:function size:0xCC scope:global align:4
__ct__Q24Kart12KartSettingsFScQ26System9VehicleIdQ26System11CharacterIdUlPQ24Kart9KartParamPvP20KartDriverDispParamsP19KartPartsDispParamsP19BikePartsDispParamsP16DriverDispParams = .text:0x80592FC0; // type:function size:0xCC scope:global align:4
fn_1_82CD8 = .text:0x8059308C; // type:function size:0x58
fn_1_82D30 = .text:0x805930E4; // type:function size:0x40
fn_1_82D70 = .text:0x80593124; // type:function size:0x4
Expand Down
40 changes: 40 additions & 0 deletions src/kart/KartSettings.cpp
Original file line number Diff line number Diff line change
@@ -1 +1,41 @@
#include "KartSettings.hpp"

#include <system/RaceConfig.hpp>

namespace Kart {

KartSettings::KartSettings(
s8 playerIdx,
System::VehicleId vehicle,
System::CharacterId character,
u32 isBike,
KartParam* kartParam,
void* arg6,
KartDriverDispParams* kartDriverDispParams,
KartPartsDispParams* kartPartsDispParams,
BikePartsDispParams* bikePartsDispParams,
DriverDispParams* driverDispParams) {
this->isBike = isBike;
this->vehicle = vehicle;
this->character = character;
this->playerIdx = playerIdx;
this->kartParam = kartParam;
this->_18 = arg6;
this->kartDriverDispParams = kartDriverDispParams;
this->kartPartsDispParams = kartPartsDispParams;
this->bikePartsDispParams = bikePartsDispParams;
this->driverDispParams = driverDispParams;
this->gpStats = nullptr;
this->raceStats = nullptr;

if (System::RaceConfig::spInstance->mRaceScenario.mPlayers[(u8)playerIdx].mPlayerType ==
System::RaceConfig::Player::TYPE_REAL_LOCAL) {
this->raceStats = new RaceStats;
if (System::RaceConfig::spInstance->mRaceScenario.mSettings.mGameMode ==
System::RaceConfig::Settings::GAMEMODE_GRAND_PRIX) {
this->gpStats = new GpStats;
}
}
}

} // namespace Kart
22 changes: 19 additions & 3 deletions src/kart/KartSettings.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,27 @@
#include "KartDispParams.hpp"

namespace Kart {
class GpStats;
class RaceStats;
class RaceStats {
u8 _unk[0x14];
};

class GpStats {
u8 _unk[0x1c];
};

class KartSettings {
public:
KartSettings();
KartSettings(
s8 playerIdx,
System::VehicleId vehicle,
System::CharacterId character,
u32 isBike,
KartParam* kartParam,
void* arg6,
KartDriverDispParams* kartDriverDispParams,
KartPartsDispParams* kartPartsDispParams,
BikePartsDispParams* bikePartsDispParams,
DriverDispParams* driverDispParams);

u32 isBike;
System::VehicleId vehicle;
Expand Down
Loading