Definition at line 19 of file MapdataCheckPoint.hh.
Classes | |
| struct | SData |
Public Types | |
| enum class | SectorOccupancy { InsideSector , OutsideSector , BetweenSides } |
| enum class | CheckArea { NormalCheckpoint = -1 , FinishLine = 0 } |
Public Member Functions | |
| STATIC_ASSERT (sizeof(SData)==0x14) | |
| MapdataCheckPoint (const SData *data) | |
| void | read (EGG::Stream &stream) |
| void | initCheckpointLinks (MapdataCheckPointAccessor &accessor, int id) |
| Calculates m_nextPoints and m_prevPoints from m_nextPt and m_prevPt. | |
| SectorOccupancy | checkSectorAndDistanceRatio (const EGG::Vector3f &pos, f32 &distanceRatio) const |
| u16 | getEntryOffsetMs (const EGG::Vector2f &prevPos, const EGG::Vector2f &pos) const |
| Finds the offset between the two positions that enter the checkpoint. | |
| f32 | getEntryOffsetExact (const EGG::Vector2f &prevPos, const EGG::Vector2f &pos) const |
| Finds the offset between the two positions that enter the checkpoint. | |
| bool | isNormalCheckpoint () const |
| bool | isFinishLine () const |
Setters | |
| void | setSearched (u32 epoch) |
| void | clearSearched () |
Getters | |
| bool | searched (u32 epoch) const |
| s8 | jugemIndex () const |
| s8 | checkArea () const |
| u16 | nextCount () const |
| u16 | prevCount () const |
| const EGG::Vector2f & | dir () const |
| u16 | id () const |
| MapdataCheckPoint * | prevPoint (size_t i) const |
| MapdataCheckPoint * | nextPoint (size_t i) const |
Private Member Functions | |
| SectorOccupancy | checkSectorAndDistanceRatio (const LinkedCheckpoint &next, const EGG::Vector2f &p0, const EGG::Vector2f &p1, f32 &distanceRatio) const |
| bool | checkSector (const LinkedCheckpoint &next, const EGG::Vector2f &p0, const EGG::Vector2f &p1) const |
| bool | checkDistanceRatio (const LinkedCheckpoint &next, const EGG::Vector2f &p0, const EGG::Vector2f &p1, f32 &distanceRatio) const |
| Sets the distance ratio, which is the progress of traversal through the checkpoint quad. | |
Private Attributes | |
| const SData * | m_rawData |
| EGG::Vector2f | m_left |
| EGG::Vector2f | m_right |
| s8 | m_jugemIndex |
| s8 | m_checkArea |
| u8 | m_prevPt |
| u8 | m_nextPt |
| u16 | m_nextCount |
| u16 | m_prevCount |
| EGG::Vector2f | m_midpoint |
| EGG::Vector2f | m_dir |
| u16 | m_id |
| u32 | m_lastSearchedId |
| The CourseMap::m_sectorSearchId in which this checkpoint was last searched. | |
| std::array< MapdataCheckPoint *, MAX_NEIGHBORS > | m_prevPoints |
| std::array< LinkedCheckpoint, MAX_NEIGHBORS > | m_nextPoints |
Static Private Attributes | |
| static constexpr size_t | MAX_NEIGHBORS = 6 |
|
strong |
| Enumerator | |
|---|---|
| NormalCheckpoint | Only used for picking respawn position. |
| FinishLine | Triggers a lap change. |
Definition at line 107 of file MapdataCheckPoint.hh.
|
strong |
Definition at line 31 of file MapdataCheckPoint.hh.
|
0x805154E4 |
Definition at line 11 of file MapdataCheckPoint.cc.
|
inlinenodiscard |
Definition at line 76 of file MapdataCheckPoint.hh.
|
nodiscardprivate0x80510BF0 |
Sets the distance ratio, which is the progress of traversal through the checkpoint quad.
| distanceRatio | The distance ratio reference to set. |
Definition at line 205 of file MapdataCheckPoint.cc.
|
nodiscardprivate0x0x80510B84 |
Definition at line 188 of file MapdataCheckPoint.cc.
|
nodiscard0x80510D7C |
Definition at line 99 of file MapdataCheckPoint.cc.
|
nodiscardprivate0x80510C74 |
Definition at line 175 of file MapdataCheckPoint.cc.
|
inline |
Definition at line 62 of file MapdataCheckPoint.hh.
|
inlinenodiscard |
Definition at line 88 of file MapdataCheckPoint.hh.
|
nodiscard |
Finds the offset between the two positions that enter the checkpoint.
This assumes the player is entering the checkpoint as intended, and not from the side. This function isn't in the base game, but it can be used to determine improvements to runs.
| prevPos | The previous position, likely not located in the checkpoint. |
| pos | The current position, likely located in the checkpoint. |
Definition at line 156 of file MapdataCheckPoint.cc.
|
nodiscard0x80511EC8 |
Finds the offset between the two positions that enter the checkpoint.
This assumes the player is entering the checkpoint as intended, and not from the side.
| prevPos | The previous position, likely not located in the checkpoint. |
| pos | The current position, likely located in the checkpoint. |
Definition at line 130 of file MapdataCheckPoint.cc.
|
inlinenodiscard |
Definition at line 92 of file MapdataCheckPoint.hh.
|
0x80515624 |
Calculates m_nextPoints and m_prevPoints from m_nextPt and m_prevPt.
Also calculates the quadrilaterals for the next checkpoints, filling the fields of LinkedCheckpoint for each.
Definition at line 34 of file MapdataCheckPoint.cc.
|
inlinenodiscard |
Definition at line 53 of file MapdataCheckPoint.hh.
|
inlinenodiscard |
Definition at line 49 of file MapdataCheckPoint.hh.
|
inlinenodiscard |
Definition at line 72 of file MapdataCheckPoint.hh.
|
inlinenodiscard |
Definition at line 80 of file MapdataCheckPoint.hh.
|
inlinenodiscard |
Definition at line 101 of file MapdataCheckPoint.hh.
|
inlinenodiscard |
Definition at line 84 of file MapdataCheckPoint.hh.
|
inlinenodiscard |
Definition at line 96 of file MapdataCheckPoint.hh.
| void Kinoko::System::MapdataCheckPoint::read | ( | EGG::Stream & | stream | ) |
Definition at line 21 of file MapdataCheckPoint.cc.
|
inlinenodiscard |
Definition at line 68 of file MapdataCheckPoint.hh.
|
inline |
Definition at line 58 of file MapdataCheckPoint.hh.
|
private |
Either:
Definition at line 133 of file MapdataCheckPoint.hh.
|
private |
Definition at line 139 of file MapdataCheckPoint.hh.
|
private |
Definition at line 140 of file MapdataCheckPoint.hh.
|
private |
Index of respawn point associated with this checkpoint. Players who die here will be respawned at this point.
Definition at line 125 of file MapdataCheckPoint.hh.
|
private |
The CourseMap::m_sectorSearchId in which this checkpoint was last searched.
This is a performance improvement for Kinoko. The base game stores a boolean that is cleared on every checkpoint before each search in CourseMap::findSector(). By referencing m_lastSearchedId instead, we can determine if the checkpoint has been found in the current search without having to clear it explicitly.
Definition at line 147 of file MapdataCheckPoint.hh.
|
private |
Definition at line 123 of file MapdataCheckPoint.hh.
|
private |
Definition at line 138 of file MapdataCheckPoint.hh.
|
private |
Definition at line 136 of file MapdataCheckPoint.hh.
|
private |
Definition at line 150 of file MapdataCheckPoint.hh.
|
private |
Definition at line 135 of file MapdataCheckPoint.hh.
|
private |
Definition at line 137 of file MapdataCheckPoint.hh.
|
private |
Definition at line 149 of file MapdataCheckPoint.hh.
|
private |
Definition at line 134 of file MapdataCheckPoint.hh.
|
private |
Definition at line 122 of file MapdataCheckPoint.hh.
|
private |
Definition at line 124 of file MapdataCheckPoint.hh.
|
staticconstexprprivate |
Definition at line 120 of file MapdataCheckPoint.hh.