BossKameckStateBattle.o 98%

This commit is contained in:
shibbo 2024-08-02 19:45:08 -04:00
parent a85605485e
commit 7b19e8e25c
8 changed files with 75 additions and 16 deletions

View File

@ -301,7 +301,7 @@ execute__Q216NrvBossKameckVs227BossKameckVs2NrvPowerUpDemoCFP5Spine,BossKameckVs
execute__Q216NrvBossKameckVs225BossKameckVs2NrvBattleLv2CFP5Spine,BossKameckVs2.o,Boss.a,true
execute__Q216NrvBossKameckVs225BossKameckVs2NrvBattleLv1CFP5Spine,BossKameckVs2.o,Boss.a,true
execute__Q216NrvBossKameckVs227BossKameckVs2NrvOpeningDemoCFP5Spine,BossKameckVs2.o,Boss.a,true
__ct__21BossKameckStateBattleFP10BossKameck,BossKameckStateBattle.o,Boss.a,false
__ct__21BossKameckStateBattleFP10BossKameck,BossKameckStateBattle.o,Boss.a,minor
init__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,true
appear__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,true
setMoveRail__21BossKameckStateBattleFP18BossKameckMoveRail,BossKameckStateBattle.o,Boss.a,true
@ -318,14 +318,14 @@ startMove__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,true
exeWait__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,true
exeMove__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,true
exeHideMoveStart__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,true
exeHideMove__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,false
exeHideMove__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,true
exeHideMoveEnd__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,true
exeSummonKameckWait__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,true
exeSummonKameck__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,true
exeAttackWait__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,true
exeAttack__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,true
exeDamage__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,true
exeRecover__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,false
exeRecover__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,true
exeGuard__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,true
selectStoppablePosition__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,true
selectPosition__21BossKameckStateBattleFv,BossKameckStateBattle.o,Boss.a,true

1 Symbol Name Object File Library Archive Matching
301 execute__Q216NrvBossKameckVs225BossKameckVs2NrvBattleLv2CFP5Spine BossKameckVs2.o Boss.a true
302 execute__Q216NrvBossKameckVs225BossKameckVs2NrvBattleLv1CFP5Spine BossKameckVs2.o Boss.a true
303 execute__Q216NrvBossKameckVs227BossKameckVs2NrvOpeningDemoCFP5Spine BossKameckVs2.o Boss.a true
304 __ct__21BossKameckStateBattleFP10BossKameck BossKameckStateBattle.o Boss.a false minor
305 init__21BossKameckStateBattleFv BossKameckStateBattle.o Boss.a true
306 appear__21BossKameckStateBattleFv BossKameckStateBattle.o Boss.a true
307 setMoveRail__21BossKameckStateBattleFP18BossKameckMoveRail BossKameckStateBattle.o Boss.a true
318 exeWait__21BossKameckStateBattleFv BossKameckStateBattle.o Boss.a true
319 exeMove__21BossKameckStateBattleFv BossKameckStateBattle.o Boss.a true
320 exeHideMoveStart__21BossKameckStateBattleFv BossKameckStateBattle.o Boss.a true
321 exeHideMove__21BossKameckStateBattleFv BossKameckStateBattle.o Boss.a false true
322 exeHideMoveEnd__21BossKameckStateBattleFv BossKameckStateBattle.o Boss.a true
323 exeSummonKameckWait__21BossKameckStateBattleFv BossKameckStateBattle.o Boss.a true
324 exeSummonKameck__21BossKameckStateBattleFv BossKameckStateBattle.o Boss.a true
325 exeAttackWait__21BossKameckStateBattleFv BossKameckStateBattle.o Boss.a true
326 exeAttack__21BossKameckStateBattleFv BossKameckStateBattle.o Boss.a true
327 exeDamage__21BossKameckStateBattleFv BossKameckStateBattle.o Boss.a true
328 exeRecover__21BossKameckStateBattleFv BossKameckStateBattle.o Boss.a false true
329 exeGuard__21BossKameckStateBattleFv BossKameckStateBattle.o Boss.a true
330 selectStoppablePosition__21BossKameckStateBattleFv BossKameckStateBattle.o Boss.a true
331 selectPosition__21BossKameckStateBattleFv BossKameckStateBattle.o Boss.a true

View File

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

View File

@ -1,6 +1,6 @@
{
"schemaVersion": 1,
"label": "Boss",
"message": "13.731%",
"message": "13.879%",
"color": "yellow"
}

View File

@ -4,7 +4,7 @@
| [Animation](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Animation.md) | 5.303240099695375% |
| [AreaObj](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/AreaObj.md) | 58.466557911908644% |
| [AudioLib](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/AudioLib.md) | 0.0% |
| [Boss](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Boss.md) | 13.731874258847027% |
| [Boss](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Boss.md) | 13.879584746291634% |
| [Camera](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Camera.md) | 34.12644987572494% |
| [Demo](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Demo.md) | 3.7442572741194486% |
| [Effect](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Effect.md) | 2.2184743124026984% |

View File

@ -20,7 +20,7 @@
| [BossKameckMoveRail.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Boss/BossKameckMoveRail.md) | 100.0% | 6 / 6 | 100.0% | :white_check_mark:
| [BossKameckVs1.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Boss/BossKameckVs1.md) | 100.0% | 26 / 26 | 100.0% | :white_check_mark:
| [BossKameckVs2.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Boss/BossKameckVs2.md) | 100.0% | 29 / 29 | 100.0% | :white_check_mark:
| [BossKameckStateBattle.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Boss/BossKameckStateBattle.md) | 85.37774167343623% | 53 / 56 | 94.64285714285714% | :eight_pointed_black_star:
| [BossKameckStateBattle.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Boss/BossKameckStateBattle.md) | 96.91307879772543% | 55 / 56 | 98.21428571428571% | :eight_pointed_black_star:
| [BossStinkBug.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Boss/BossStinkBug.md) | 0.0% | 0 / 46 | 0.0% | :x:
| [BossStinkBugActionBase.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Boss/BossStinkBugActionBase.md) | 0.0% | 0 / 45 | 0.0% | :x:
| [BossStinkBugActionFlyHigh.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Boss/BossStinkBugActionFlyHigh.md) | 0.0% | 0 / 49 | 0.0% | :x:

View File

@ -5,7 +5,7 @@
| :white_check_mark: | Function is completed.
# 53 / 56 Completed -- (94.64285714285714%)
# 55 / 56 Completed -- (98.21428571428571%)
# BossKameckStateBattle.o
| Symbol | Decompiled? |
| ------------- | ------------- |
@ -26,14 +26,14 @@
| `exeWait__21BossKameckStateBattleFv` | :white_check_mark: |
| `exeMove__21BossKameckStateBattleFv` | :white_check_mark: |
| `exeHideMoveStart__21BossKameckStateBattleFv` | :white_check_mark: |
| `exeHideMove__21BossKameckStateBattleFv` | :x: |
| `exeHideMove__21BossKameckStateBattleFv` | :white_check_mark: |
| `exeHideMoveEnd__21BossKameckStateBattleFv` | :white_check_mark: |
| `exeSummonKameckWait__21BossKameckStateBattleFv` | :white_check_mark: |
| `exeSummonKameck__21BossKameckStateBattleFv` | :white_check_mark: |
| `exeAttackWait__21BossKameckStateBattleFv` | :white_check_mark: |
| `exeAttack__21BossKameckStateBattleFv` | :white_check_mark: |
| `exeDamage__21BossKameckStateBattleFv` | :white_check_mark: |
| `exeRecover__21BossKameckStateBattleFv` | :x: |
| `exeRecover__21BossKameckStateBattleFv` | :white_check_mark: |
| `exeGuard__21BossKameckStateBattleFv` | :white_check_mark: |
| `selectStoppablePosition__21BossKameckStateBattleFv` | :white_check_mark: |
| `selectPosition__21BossKameckStateBattleFv` | :white_check_mark: |

View File

@ -55,8 +55,8 @@ public:
KameckBeamEventListener* mBeamListener; // _1C
TVec3f _20;
s32 _2C;
u32 _30;
u32 _34;
s32 _30;
s32 _34;
s32 _38;
u8 _3C;
u8 _3D;

View File

@ -5,8 +5,7 @@
#include "Game/Enemy/KameckBeam.hpp"
#include "Game/Enemy/KameckBeamHolder.hpp"
BossKameckStateBattle::BossKameckStateBattle(BossKameck *pBoss) : ActorStateBase<BossKameck>("ボスカメック戦闘状態") {
mBossKameck = pBoss;
BossKameckStateBattle::BossKameckStateBattle(BossKameck *pBoss) : mBossKameck(pBoss), ActorStateBase<BossKameck>("ボスカメック戦闘状態") {
mMoveRail = nullptr;
mBattlePattarn = nullptr;
mBeam = nullptr;
@ -225,7 +224,48 @@ void BossKameckStateBattle::exeHideMoveStart() {
}
}
// BossKameckStateBattle::exeHideMove
void BossKameckStateBattle::exeHideMove() {
if (MR::isFirstStep(this)) {
MR::startAction(mBossKameck, "Move");
MR::hideModelAndOnCalcAnim(mBossKameck);
selectPosition();
_34 = 0;
}
MR::startLevelSound(mBossKameck, "SE_BM_LV_KAMECK_HIDE_MOVE", -1, -1, -1);
f32 v2;
if (_3C) {
v2 = 20.0f;
}
else {
v2 = 15.0f;
}
MR::addVelocityMoveToTarget(mBossKameck, _20, (0.1f * v2), v2, 0.0f, 400.0f);
MR::addVelocityKeepHeight(mBossKameck, _20, 0.0f, 0.5f, 50.0f);
MR::attenuateVelocity(mBossKameck, 0.89999998f);
MR::turnDirectionToPlayerDegree(mBossKameck, &mBossKameck->_A0, 6.0f);
if (MR::isNear(mBossKameck, _20, 100.0f)) {
s32 v3 = _30;
s32 v4 = _34;
if (v4 <= v3) {
setNerve(&NrvBossKameckStateBattle::BossKameckStateBattleNrvHideMoveEnd::sInstance);
}
else {
_34 = v3 + 1;
if (v4 == v3 + 1) {
selectStoppablePosition();
}
else {
selectPosition();
}
}
}
}
void BossKameckStateBattle::exeHideMoveEnd() {
if (MR::isFirstStep(this)) {
@ -337,7 +377,26 @@ void BossKameckStateBattle::exeDamage() {
}
}
// BossKameckStateBattle::exeRecover
void BossKameckStateBattle::exeRecover() {
if (MR::isFirstStep(this)) {
MR::startAction(mBossKameck, "Recover");
MR::startSound(mBossKameck, "SE_BM_KAMECK_RECOVER", -1, -1);
}
if (MR::isGreaterStep(this, 60)) {
MR::turnDirectionToPlayerDegree(mBossKameck, &mBossKameck->_A0, 6.0f);
MR::addVelocityMoveToTarget(mBossKameck, _20, 0.089999996f, 0.89999998f, 0.0f, 400.0f);
MR::addVelocityKeepHeight(mBossKameck, _20, 0.0f, 0.5f, 50.0f);
MR::attenuateVelocity(mBossKameck, 0.95999998f);
}
if (MR::isGreaterStep(this, 60)) {
if (MR::isNear(mBossKameck, _20, 100.0f)) {
MR::validateHitSensors(mBossKameck);
startMove();
}
}
}
void BossKameckStateBattle::exeGuard() {
if (MR::isFirstStep(this)) {