ExterminationChecker.o at 85%

This commit is contained in:
shibbo 2024-03-05 14:56:17 -05:00
parent ef6232a654
commit 93fa2a71b4
8 changed files with 174 additions and 41 deletions

View File

@ -1842,25 +1842,25 @@ clone__Q22MR63FunctorV0M<P18ElectricRailMoving&#44;M18ElectricRailMovingFPCvPv_v
__dt__18ElectricRailMovingFv,ElectricRailMoving.o,MapObj.a,false
createLiveActor<16SkeletalFishBaby>__34@unnamed@ExterminationChecker_cpp@FPCc_P9LiveActor,ExterminationChecker.o,MapObj.a,false
createLiveActor<8Meramera>__34@unnamed@ExterminationChecker_cpp@FPCc_P9LiveActor,ExterminationChecker.o,MapObj.a,false
__ct__20ExterminationCheckerFPCc,ExterminationChecker.o,MapObj.a,false
__ct__20ExterminationCheckerFPCc,ExterminationChecker.o,MapObj.a,true
init__20ExterminationCheckerFRC12JMapInfoIter,ExterminationChecker.o,MapObj.a,false
control__20ExterminationCheckerFv,ExterminationChecker.o,MapObj.a,false
exeWatching__20ExterminationCheckerFv,ExterminationChecker.o,MapObj.a,false
exeTryStartDemoAppear__20ExterminationCheckerFv,ExterminationChecker.o,MapObj.a,false
exeAppearStar__20ExterminationCheckerFv,ExterminationChecker.o,MapObj.a,false
exeAppearKeySwitch__20ExterminationCheckerFv,ExterminationChecker.o,MapObj.a,false
createExterminationPowerStar__2MRFPCc,ExterminationChecker.o,MapObj.a,false
createExterminationKeySwitch__2MRFPCc,ExterminationChecker.o,MapObj.a,false
__dt__20ExterminationCheckerFv,ExterminationChecker.o,MapObj.a,false
__sinit_\ExterminationChecker_cpp,ExterminationChecker.o,MapObj.a,false
__ct__Q223NrvExterminationChecker31ExterminationCheckerNrvWatchingFv,ExterminationChecker.o,MapObj.a,false
__ct__Q223NrvExterminationChecker41ExterminationCheckerNrvTryStartDemoAppearFv,ExterminationChecker.o,MapObj.a,false
__ct__Q223NrvExterminationChecker33ExterminationCheckerNrvAppearStarFv,ExterminationChecker.o,MapObj.a,false
__ct__Q223NrvExterminationChecker38ExterminationCheckerNrvAppearKeySwitchFv,ExterminationChecker.o,MapObj.a,false
execute__Q223NrvExterminationChecker38ExterminationCheckerNrvAppearKeySwitchCFP5Spine,ExterminationChecker.o,MapObj.a,false
execute__Q223NrvExterminationChecker33ExterminationCheckerNrvAppearStarCFP5Spine,ExterminationChecker.o,MapObj.a,false
execute__Q223NrvExterminationChecker41ExterminationCheckerNrvTryStartDemoAppearCFP5Spine,ExterminationChecker.o,MapObj.a,false
execute__Q223NrvExterminationChecker31ExterminationCheckerNrvWatchingCFP5Spine,ExterminationChecker.o,MapObj.a,false
control__20ExterminationCheckerFv,ExterminationChecker.o,MapObj.a,true
exeWatching__20ExterminationCheckerFv,ExterminationChecker.o,MapObj.a,true
exeTryStartDemoAppear__20ExterminationCheckerFv,ExterminationChecker.o,MapObj.a,true
exeAppearStar__20ExterminationCheckerFv,ExterminationChecker.o,MapObj.a,true
exeAppearKeySwitch__20ExterminationCheckerFv,ExterminationChecker.o,MapObj.a,true
createExterminationPowerStar__2MRFPCc,ExterminationChecker.o,MapObj.a,true
createExterminationKeySwitch__2MRFPCc,ExterminationChecker.o,MapObj.a,true
__dt__20ExterminationCheckerFv,ExterminationChecker.o,MapObj.a,true
__sinit_\ExterminationChecker_cpp,ExterminationChecker.o,MapObj.a,true
__ct__Q223NrvExterminationChecker31ExterminationCheckerNrvWatchingFv,ExterminationChecker.o,MapObj.a,true
__ct__Q223NrvExterminationChecker41ExterminationCheckerNrvTryStartDemoAppearFv,ExterminationChecker.o,MapObj.a,true
__ct__Q223NrvExterminationChecker33ExterminationCheckerNrvAppearStarFv,ExterminationChecker.o,MapObj.a,true
__ct__Q223NrvExterminationChecker38ExterminationCheckerNrvAppearKeySwitchFv,ExterminationChecker.o,MapObj.a,true
execute__Q223NrvExterminationChecker38ExterminationCheckerNrvAppearKeySwitchCFP5Spine,ExterminationChecker.o,MapObj.a,true
execute__Q223NrvExterminationChecker33ExterminationCheckerNrvAppearStarCFP5Spine,ExterminationChecker.o,MapObj.a,true
execute__Q223NrvExterminationChecker41ExterminationCheckerNrvTryStartDemoAppearCFP5Spine,ExterminationChecker.o,MapObj.a,true
execute__Q223NrvExterminationChecker31ExterminationCheckerNrvWatchingCFP5Spine,ExterminationChecker.o,MapObj.a,true
__ct__14FallDownBridgeFPCc,FallDownBridge.o,MapObj.a,false
init__14FallDownBridgeFRC12JMapInfoIter,FallDownBridge.o,MapObj.a,false
control__14FallDownBridgeFv,FallDownBridge.o,MapObj.a,false

1 Symbol Name Object File Library Archive Matching
1842 __dt__18ElectricRailMovingFv ElectricRailMoving.o MapObj.a false
1843 createLiveActor<16SkeletalFishBaby>__34@unnamed@ExterminationChecker_cpp@FPCc_P9LiveActor ExterminationChecker.o MapObj.a false
1844 createLiveActor<8Meramera>__34@unnamed@ExterminationChecker_cpp@FPCc_P9LiveActor ExterminationChecker.o MapObj.a false
1845 __ct__20ExterminationCheckerFPCc ExterminationChecker.o MapObj.a false true
1846 init__20ExterminationCheckerFRC12JMapInfoIter ExterminationChecker.o MapObj.a false
1847 control__20ExterminationCheckerFv ExterminationChecker.o MapObj.a false true
1848 exeWatching__20ExterminationCheckerFv ExterminationChecker.o MapObj.a false true
1849 exeTryStartDemoAppear__20ExterminationCheckerFv ExterminationChecker.o MapObj.a false true
1850 exeAppearStar__20ExterminationCheckerFv ExterminationChecker.o MapObj.a false true
1851 exeAppearKeySwitch__20ExterminationCheckerFv ExterminationChecker.o MapObj.a false true
1852 createExterminationPowerStar__2MRFPCc ExterminationChecker.o MapObj.a false true
1853 createExterminationKeySwitch__2MRFPCc ExterminationChecker.o MapObj.a false true
1854 __dt__20ExterminationCheckerFv ExterminationChecker.o MapObj.a false true
1855 __sinit_\ExterminationChecker_cpp ExterminationChecker.o MapObj.a false true
1856 __ct__Q223NrvExterminationChecker31ExterminationCheckerNrvWatchingFv ExterminationChecker.o MapObj.a false true
1857 __ct__Q223NrvExterminationChecker41ExterminationCheckerNrvTryStartDemoAppearFv ExterminationChecker.o MapObj.a false true
1858 __ct__Q223NrvExterminationChecker33ExterminationCheckerNrvAppearStarFv ExterminationChecker.o MapObj.a false true
1859 __ct__Q223NrvExterminationChecker38ExterminationCheckerNrvAppearKeySwitchFv ExterminationChecker.o MapObj.a false true
1860 execute__Q223NrvExterminationChecker38ExterminationCheckerNrvAppearKeySwitchCFP5Spine ExterminationChecker.o MapObj.a false true
1861 execute__Q223NrvExterminationChecker33ExterminationCheckerNrvAppearStarCFP5Spine ExterminationChecker.o MapObj.a false true
1862 execute__Q223NrvExterminationChecker41ExterminationCheckerNrvTryStartDemoAppearCFP5Spine ExterminationChecker.o MapObj.a false true
1863 execute__Q223NrvExterminationChecker31ExterminationCheckerNrvWatchingCFP5Spine ExterminationChecker.o MapObj.a false true
1864 __ct__14FallDownBridgeFPCc FallDownBridge.o MapObj.a false
1865 init__14FallDownBridgeFRC12JMapInfoIter FallDownBridge.o MapObj.a false
1866 control__14FallDownBridgeFv FallDownBridge.o MapObj.a false

View File

@ -1,6 +1,6 @@
{
"schemaVersion": 1,
"label": "Game",
"message": "13.646%",
"message": "13.671%",
"color": "blue"
}

View File

@ -1,6 +1,6 @@
{
"schemaVersion": 1,
"label": "MapObj",
"message": "27.504%",
"message": "27.64%",
"color": "tan"
}

View File

@ -12,7 +12,7 @@
| [Gravity](https://github.com/shibbo/Petari/blob/master/docs/lib/Gravity.md) | 73.07927450580803% |
| [LiveActor](https://github.com/shibbo/Petari/blob/master/docs/lib/LiveActor.md) | 42.01936376210235% |
| [Map](https://github.com/shibbo/Petari/blob/master/docs/lib/Map.md) | 17.65918333240488% |
| [MapObj](https://github.com/shibbo/Petari/blob/master/docs/lib/MapObj.md) | 27.504706237194355% |
| [MapObj](https://github.com/shibbo/Petari/blob/master/docs/lib/MapObj.md) | 27.64043307782712% |
| [NameObj](https://github.com/shibbo/Petari/blob/master/docs/lib/NameObj.md) | 32.076605977327375% |
| [NPC](https://github.com/shibbo/Petari/blob/master/docs/lib/NPC.md) | 2.155878467635403% |
| [NWC24](https://github.com/shibbo/Petari/blob/master/docs/lib/NWC24.md) | 0.0% |

View File

@ -101,7 +101,7 @@
| [ElectricRail.o](https://github.com/shibbo/Petari/blob/master/docs/lib/MapObj/ElectricRail.md) | 0.0% | 0 / 48 | 0.0% | :x:
| [ElectricRailHolder.o](https://github.com/shibbo/Petari/blob/master/docs/lib/MapObj/ElectricRailHolder.md) | 0.0% | 0 / 17 | 0.0% | :x:
| [ElectricRailMoving.o](https://github.com/shibbo/Petari/blob/master/docs/lib/MapObj/ElectricRailMoving.md) | 0.0% | 0 / 44 | 0.0% | :x:
| [ExterminationChecker.o](https://github.com/shibbo/Petari/blob/master/docs/lib/MapObj/ExterminationChecker.md) | 0.0% | 0 / 21 | 0.0% | :x:
| [ExterminationChecker.o](https://github.com/shibbo/Petari/blob/master/docs/lib/MapObj/ExterminationChecker.md) | 64.28571428571429% | 18 / 21 | 85.71428571428571% | :eight_pointed_black_star:
| [FallDownBridge.o](https://github.com/shibbo/Petari/blob/master/docs/lib/MapObj/FallDownBridge.md) | 0.0% | 0 / 11 | 0.0% | :x:
| [FallingSmallRock.o](https://github.com/shibbo/Petari/blob/master/docs/lib/MapObj/FallingSmallRock.md) | 0.0% | 0 / 11 | 0.0% | :x:
| [FallOutFieldDraw.o](https://github.com/shibbo/Petari/blob/master/docs/lib/MapObj/FallOutFieldDraw.md) | 0.0% | 0 / 13 | 0.0% | :x:

View File

@ -5,28 +5,28 @@
| :white_check_mark: | Function is completed.
# 0 / 21 Completed -- (0.0%)
# 18 / 21 Completed -- (85.71428571428571%)
# ExterminationChecker.o
| Symbol | Decompiled? |
| ------------- | ------------- |
| `createLiveActor<16SkeletalFishBaby>__34@unnamed@ExterminationChecker_cpp@FPCc_P9LiveActor` | :x: |
| `createLiveActor<8Meramera>__34@unnamed@ExterminationChecker_cpp@FPCc_P9LiveActor` | :x: |
| `__ct__20ExterminationCheckerFPCc` | :x: |
| `__ct__20ExterminationCheckerFPCc` | :white_check_mark: |
| `init__20ExterminationCheckerFRC12JMapInfoIter` | :x: |
| `control__20ExterminationCheckerFv` | :x: |
| `exeWatching__20ExterminationCheckerFv` | :x: |
| `exeTryStartDemoAppear__20ExterminationCheckerFv` | :x: |
| `exeAppearStar__20ExterminationCheckerFv` | :x: |
| `exeAppearKeySwitch__20ExterminationCheckerFv` | :x: |
| `createExterminationPowerStar__2MRFPCc` | :x: |
| `createExterminationKeySwitch__2MRFPCc` | :x: |
| `__dt__20ExterminationCheckerFv` | :x: |
| `__sinit_\ExterminationChecker_cpp` | :x: |
| `__ct__Q223NrvExterminationChecker31ExterminationCheckerNrvWatchingFv` | :x: |
| `__ct__Q223NrvExterminationChecker41ExterminationCheckerNrvTryStartDemoAppearFv` | :x: |
| `__ct__Q223NrvExterminationChecker33ExterminationCheckerNrvAppearStarFv` | :x: |
| `__ct__Q223NrvExterminationChecker38ExterminationCheckerNrvAppearKeySwitchFv` | :x: |
| `execute__Q223NrvExterminationChecker38ExterminationCheckerNrvAppearKeySwitchCFP5Spine` | :x: |
| `execute__Q223NrvExterminationChecker33ExterminationCheckerNrvAppearStarCFP5Spine` | :x: |
| `execute__Q223NrvExterminationChecker41ExterminationCheckerNrvTryStartDemoAppearCFP5Spine` | :x: |
| `execute__Q223NrvExterminationChecker31ExterminationCheckerNrvWatchingCFP5Spine` | :x: |
| `control__20ExterminationCheckerFv` | :white_check_mark: |
| `exeWatching__20ExterminationCheckerFv` | :white_check_mark: |
| `exeTryStartDemoAppear__20ExterminationCheckerFv` | :white_check_mark: |
| `exeAppearStar__20ExterminationCheckerFv` | :white_check_mark: |
| `exeAppearKeySwitch__20ExterminationCheckerFv` | :white_check_mark: |
| `createExterminationPowerStar__2MRFPCc` | :white_check_mark: |
| `createExterminationKeySwitch__2MRFPCc` | :white_check_mark: |
| `__dt__20ExterminationCheckerFv` | :white_check_mark: |
| `__sinit_\ExterminationChecker_cpp` | :white_check_mark: |
| `__ct__Q223NrvExterminationChecker31ExterminationCheckerNrvWatchingFv` | :white_check_mark: |
| `__ct__Q223NrvExterminationChecker41ExterminationCheckerNrvTryStartDemoAppearFv` | :white_check_mark: |
| `__ct__Q223NrvExterminationChecker33ExterminationCheckerNrvAppearStarFv` | :white_check_mark: |
| `__ct__Q223NrvExterminationChecker38ExterminationCheckerNrvAppearKeySwitchFv` | :white_check_mark: |
| `execute__Q223NrvExterminationChecker38ExterminationCheckerNrvAppearKeySwitchCFP5Spine` | :white_check_mark: |
| `execute__Q223NrvExterminationChecker33ExterminationCheckerNrvAppearStarCFP5Spine` | :white_check_mark: |
| `execute__Q223NrvExterminationChecker41ExterminationCheckerNrvTryStartDemoAppearCFP5Spine` | :white_check_mark: |
| `execute__Q223NrvExterminationChecker31ExterminationCheckerNrvWatchingCFP5Spine` | :white_check_mark: |

View File

@ -0,0 +1,37 @@
#pragma once
#include "Game/LiveActor/LiveActor.hpp"
class KeySwitch;
class ExterminationChecker : public LiveActor {
public:
ExterminationChecker(const char *);
virtual ~ExterminationChecker();
virtual void init(const JMapInfoIter &);
virtual void control();
void exeWatching();
void exeTryStartDemoAppear();
void exeAppearStar();
void exeAppearKeySwitch();
LiveActorGroup* mGroup; // _8C
KeySwitch* mKeySwitch; // _90
TVec3f mKeySwitchPos; // _94
u8 _A0;
u8 _A1;
};
namespace NrvExterminationChecker {
NERVE_DECL(ExterminationCheckerNrvWatching, ExterminationChecker, ExterminationChecker::exeWatching);
NERVE_DECL(ExterminationCheckerNrvTryStartDemoAppear, ExterminationChecker, ExterminationChecker::exeTryStartDemoAppear);
NERVE_DECL(ExterminationCheckerNrvAppearStar, ExterminationChecker, ExterminationChecker::exeAppearStar);
NERVE_DECL(ExterminationCheckerNrvAppearKeySwitch, ExterminationChecker, ExterminationChecker::exeAppearKeySwitch);
};
namespace MR {
NameObj* createExterminationPowerStar(const char *);
NameObj* createExterminationKeySwitch(const char *);
}

View File

@ -0,0 +1,96 @@
#include "Game/MapObj/ExterminationChecker.hpp"
#include "Game/MapObj/KeySwitch.hpp"
#include "Game/LiveActor/LiveActorGroup.hpp"
ExterminationChecker::ExterminationChecker(const char *pName) : LiveActor(pName) {
mGroup = nullptr;
mKeySwitch = nullptr;
mKeySwitchPos.x = 0.0f;
mKeySwitchPos.y = 0.0f;
mKeySwitchPos.z = 0.0f;
_A0 = 1;
_A1 = 0;
}
// ExterminationChecker::init
void ExterminationChecker::control() {
}
void ExterminationChecker::exeWatching() {
for (s32 i = 0; i < mGroup->mObjectCount; i++) {
LiveActor* cur = mGroup->getActor(i);
if (!MR::isDead(cur)) {
mKeySwitchPos.setInline(mGroup->getActor(i)->mPosition);
return;
}
}
if (_A0) {
setNerve(&NrvExterminationChecker::ExterminationCheckerNrvTryStartDemoAppear::sInstance);
}
if (_A1) {
setNerve(&NrvExterminationChecker::ExterminationCheckerNrvAppearKeySwitch::sInstance);
}
}
void ExterminationChecker::exeTryStartDemoAppear() {
if (MR::isFirstStep(this)) {
MR::stopStageBGM(10);
}
if (MR::isGreaterStep(this, 5)) {
if (MR::tryStartDemo(this, "全滅スター出現")) {
setNerve(&NrvExterminationChecker::ExterminationCheckerNrvAppearStar::sInstance);
}
}
}
void ExterminationChecker::exeAppearStar() {
if (MR::isStep(this, 0)) {
MR::startSystemSE("SE_SY_TOTAL_COMPLETE", -1, -1);
}
if (MR::isStep(this, 120)) {
MR::endDemo(this, "全滅スター出現");
MR::startAfterBossBGM();
MR::requestAppearPowerStar(this);
kill();
}
}
void ExterminationChecker::exeAppearKeySwitch() {
if (MR::isStep(this, 30)) {
mKeySwitch->appearKeySwitch(mKeySwitchPos);
kill();
}
}
namespace MR {
NameObj* createExterminationPowerStar(const char *pName) {
ExterminationChecker* checker = new ExterminationChecker(pName);
checker->_A0 = 1;
checker->_A1 = 0;
return checker;
}
NameObj* createExterminationKeySwitch(const char *pName) {
ExterminationChecker* checker = new ExterminationChecker(pName);
checker->_A0 = 0;
checker->_A1 = 1;
return checker;
}
};
ExterminationChecker::~ExterminationChecker() {
}
namespace NrvExterminationChecker {
INIT_NERVE(ExterminationCheckerNrvWatching);
INIT_NERVE(ExterminationCheckerNrvTryStartDemoAppear);
INIT_NERVE(ExterminationCheckerNrvAppearStar);
INIT_NERVE(ExterminationCheckerNrvAppearKeySwitch);
};