mirror of
https://github.com/MonsterDruide1/OdysseyDecomp.git
synced 2025-02-21 13:43:04 +00:00
Merge pull request #9 from OatmealDome/ijudge
`game/judge`: Add `IJudge` and utility functions
This commit is contained in:
commit
e6b1cd9b80
@ -34871,11 +34871,11 @@ Address,Quality,Size,Name
|
||||
0x00000071005569b8,U,000192,_ZN2rs30setProjectionMtxAsEmptyModel2dEPN2al9LiveActorERKN4sead7Vector2IfEE
|
||||
0x0000007100556a78,U,000024,_ZN2rs20addDemoRacePrizeCoinEPN2al9LiveActorE
|
||||
0x0000007100556a90,U,000096,_ZN18StageSceneFunction20appearPlayerDeadCoinEPN2al9LiveActorE
|
||||
0x0000007100556af0,U,000012,_ZN2rs10resetJudgeEP6IJudge
|
||||
0x0000007100556afc,U,000012,_ZN2rs11updateJudgeEP6IJudge
|
||||
0x0000007100556b08,U,000012,_ZN2rs7isJudgeEPK6IJudge
|
||||
0x0000007100556b14,U,000052,_ZN2rs20updateJudgeAndResultEP6IJudge
|
||||
0x0000007100556b48,U,000072,_ZN2rs23judgeAndResetReturnTrueEP6IJudge
|
||||
0x0000007100556af0,O,000012,_ZN2rs10resetJudgeEP6IJudge
|
||||
0x0000007100556afc,O,000012,_ZN2rs11updateJudgeEP6IJudge
|
||||
0x0000007100556b08,O,000012,_ZN2rs7isJudgeEPK6IJudge
|
||||
0x0000007100556b14,O,000052,_ZN2rs20updateJudgeAndResultEP6IJudge
|
||||
0x0000007100556b48,O,000072,_ZN2rs23judgeAndResetReturnTrueEP6IJudge
|
||||
0x0000007100556b90,U,000064,_ZN2rs38isEnableShowDemoAfterOpenMoonRockFirstEPKN2al9LiveActorE
|
||||
0x0000007100556bd0,U,000064,_ZN2rs23isFirstDemoOpenMoonRockEPKN2al9LiveActorE
|
||||
0x0000007100556c10,U,000104,_ZN2rs32isEnableShowDemoMoonRockMapWorldEPKN2al9LiveActorE
|
||||
|
Can't render this file because it is too large.
|
8
lib/game/judge/IJudge.h
Normal file
8
lib/game/judge/IJudge.h
Normal file
@ -0,0 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
class IJudge {
|
||||
public:
|
||||
virtual void reset() = 0;
|
||||
virtual void update() = 0;
|
||||
virtual bool judge() const = 0;
|
||||
};
|
11
lib/rs/Judge.h
Normal file
11
lib/rs/Judge.h
Normal file
@ -0,0 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
class IJudge;
|
||||
|
||||
namespace rs {
|
||||
void resetJudge(IJudge* judge);
|
||||
void updateJudge(IJudge* judge);
|
||||
bool isJudge(const IJudge* judge);
|
||||
bool updateJudgeAndResult(IJudge* judge);
|
||||
bool judgeAndResetReturnTrue(IJudge* judge);
|
||||
}; // namespace rs
|
@ -1,3 +1,4 @@
|
||||
target_sources(odyssey PRIVATE
|
||||
Dimension.cpp
|
||||
Judge.cpp
|
||||
)
|
||||
|
30
src/rs/Judge.cpp
Normal file
30
src/rs/Judge.cpp
Normal file
@ -0,0 +1,30 @@
|
||||
#include "rs/Judge.h"
|
||||
|
||||
#include "game/judge/IJudge.h"
|
||||
|
||||
void rs::resetJudge(IJudge* judge) {
|
||||
judge->reset();
|
||||
}
|
||||
|
||||
void rs::updateJudge(IJudge* judge) {
|
||||
judge->update();
|
||||
}
|
||||
|
||||
bool rs::isJudge(const IJudge* judge) {
|
||||
return judge->judge();
|
||||
}
|
||||
|
||||
bool rs::updateJudgeAndResult(IJudge* judge) {
|
||||
judge->update();
|
||||
return judge->judge();
|
||||
}
|
||||
|
||||
bool rs::judgeAndResetReturnTrue(IJudge* judge) {
|
||||
if (!judge->judge()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
judge->reset();
|
||||
|
||||
return true;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user