diff --git a/data/file_list.yml b/data/file_list.yml index 76b285ee4..02007afa4 100644 --- a/data/file_list.yml +++ b/data/file_list.yml @@ -123771,20 +123771,20 @@ Player/PlayerJudgeIsNerve.o: label: - _ZN18PlayerJudgeIsNerveC1EPKN2al9IUseNerveEPKNS0_5NerveE - _ZN18PlayerJudgeIsNerveC2EPKN2al9IUseNerveEPKNS0_5NerveE - status: NotDecompiled + status: Matching - offset: 0x459fd0 size: 12 label: _ZNK18PlayerJudgeIsNerve5judgeEv - status: NotDecompiled + status: Matching - offset: 0x459fdc size: 4 label: _ZN18PlayerJudgeIsNerve5resetEv - status: NotDecompiled + status: Matching lazy: true - offset: 0x459fe0 size: 4 label: _ZN18PlayerJudgeIsNerve6updateEv - status: NotDecompiled + status: Matching lazy: true Player/PlayerJudgeLongFall.o: '.text': diff --git a/src/Player/PlayerJudgeIsNerve.cpp b/src/Player/PlayerJudgeIsNerve.cpp new file mode 100644 index 000000000..4c73c2280 --- /dev/null +++ b/src/Player/PlayerJudgeIsNerve.cpp @@ -0,0 +1,11 @@ +#include "Player/PlayerJudgeIsNerve.h" + +#include "Library/Nerve/IUseNerve.h" +#include "Library/Nerve/NerveUtil.h" + +PlayerJudgeIsNerve::PlayerJudgeIsNerve(const al::IUseNerve* nerveUser, const al::Nerve* nerve) + : mNerveUser(nerveUser), mNerve(nerve) {} + +bool PlayerJudgeIsNerve::judge() const { + return al::isNerve(mNerveUser, mNerve); +} diff --git a/src/Player/PlayerJudgeIsNerve.h b/src/Player/PlayerJudgeIsNerve.h new file mode 100644 index 000000000..059e7fe23 --- /dev/null +++ b/src/Player/PlayerJudgeIsNerve.h @@ -0,0 +1,23 @@ +#pragma once + +#include "Player/IJudge.h" + +namespace al { +class IUseNerve; +class Nerve; +} // namespace al + +class PlayerJudgeIsNerve : public IJudge { +public: + PlayerJudgeIsNerve(const al::IUseNerve* nerveUser, const al::Nerve* nerve); + + bool judge() const override; + + void reset() override {} + + void update() override {} + +private: + const al::IUseNerve* mNerveUser; + const al::Nerve* mNerve; +};