Skip to content

Commit

Permalink
Util: Implement SequentialUtil (#301)
Browse files Browse the repository at this point in the history
  • Loading branch information
Naii-the-Baf authored Jan 29, 2025
1 parent db85cfb commit 4dab118
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 8 deletions.
8 changes: 4 additions & 4 deletions data/odyssey_functions.csv
Original file line number Diff line number Diff line change
Expand Up @@ -38314,10 +38314,10 @@ Address,Quality,Size,Name
0x00000071005bef48,U,000204,_ZNK2rs23SensorMsgKuriboTowerNum27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071005bf014,U,000092,_ZNK2rs23SensorMsgKuriboTowerNum18getRuntimeTypeInfoEv
0x00000071005bf070,U,000004,_ZN2rs23SensorMsgKuriboTowerNumD0Ev
0x00000071005bf074,U,000088,_ZN2rs13convertCsecToEPiS0_S0_i
0x00000071005bf0cc,U,000012,_ZN16RaceTimeFunction19getRaceTimeMaxFrameEv
0x00000071005bf0d8,U,000012,_ZN16RaceTimeFunction18getRaceTimeMaxCsecEv
0x00000071005bf0e4,U,000028,_ZN16RaceTimeFunction19clampRaceRecordCsecEi
0x00000071005bf074,O,000088,_ZN2rs13convertCsecToEPiS0_S0_i
0x00000071005bf0cc,O,000012,_ZN16RaceTimeFunction19getRaceTimeMaxFrameEv
0x00000071005bf0d8,O,000012,_ZN16RaceTimeFunction18getRaceTimeMaxCsecEv
0x00000071005bf0e4,O,000028,_ZN16RaceTimeFunction19clampRaceRecordCsecEi
0x00000071005bf100,U,000200,_ZN2rs19setShadowDropLengthEPN2al9LiveActorERKNS0_13ActorInitInfoEPKc
0x00000071005bf1c8,U,000124,_ZN2rs28calcShadowDropClippingCenterEPN4sead7Vector3IfEEPKN2al9LiveActorEff
0x00000071005bf244,U,000092,_ZN2rs19setShadowDropOffsetEPN2al9LiveActorEPKcf
Expand Down
21 changes: 21 additions & 0 deletions src/Util/SequentialUtil.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#include "Util/SequentialUtil.h"

#include "Library/Math/MathUtil.h"

void rs::convertCsecTo(s32* minutes, s32* seconds, s32* csec, s32 time) {
*minutes = time / 6000;
*seconds = (time - (time / 6000) * 6000) / 100;
*csec = time - (*minutes * 6000) - (*seconds * 100);
}

s32 RaceTimeFunction::getRaceTimeMaxFrame() {
return 215999;
}

s32 RaceTimeFunction::getRaceTimeMaxCsec() {
return 359999;
}

s32 RaceTimeFunction::clampRaceRecordCsec(s32 csec) {
return sead::Mathi::clamp(csec, 0, getRaceTimeMaxCsec());
}
7 changes: 3 additions & 4 deletions src/Util/SequentialUtil.h
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
#pragma once

#include <basis/seadTypes.h>
#include <math/seadVector.h>

namespace rs {
void convertCsecTo(s32*, s32*, s32*, s32);
}
void convertCsecTo(s32* minutes, s32* seconds, s32* csec, s32 time);
} // namespace rs

namespace RaceTimeFunction {
s32 getRaceTimeMaxFrame();
s32 getRaceTimeMaxCsec();
s32 clampRaceRecordCsec(s32);
s32 clampRaceRecordCsec(s32 csec);
} // namespace RaceTimeFunction

0 comments on commit 4dab118

Please sign in to comment.