mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-04-23 09:04:21 +00:00
Boss/Koopa: Implement KoopaCappyEyes2D (#982)
This commit is contained in:
parent
976594c87c
commit
ebbcdfcaf0
|
|
@ -15928,53 +15928,53 @@ Boss/Koopa/KoopaCappyEyes2D.o:
|
||||||
- offset: 0x08ac50
|
- offset: 0x08ac50
|
||||||
size: 120
|
size: 120
|
||||||
label: _ZN16KoopaCappyEyes2DC2EPKc
|
label: _ZN16KoopaCappyEyes2DC2EPKc
|
||||||
status: NotDecompiled
|
status: Matching
|
||||||
- offset: 0x08acc8
|
- offset: 0x08acc8
|
||||||
size: 132
|
size: 132
|
||||||
label: _ZN16KoopaCappyEyes2DC1EPKc
|
label: _ZN16KoopaCappyEyes2DC1EPKc
|
||||||
status: NotDecompiled
|
status: Matching
|
||||||
- offset: 0x08ad4c
|
- offset: 0x08ad4c
|
||||||
size: 56
|
size: 56
|
||||||
label: _ZN16KoopaCappyEyes2D4initERKN2al13ActorInitInfoE
|
label: _ZN16KoopaCappyEyes2D4initERKN2al13ActorInitInfoE
|
||||||
status: NotDecompiled
|
status: Matching
|
||||||
- offset: 0x08ad84
|
- offset: 0x08ad84
|
||||||
size: 44
|
size: 44
|
||||||
label: _ZN16KoopaCappyEyes2D6appearEv
|
label: _ZN16KoopaCappyEyes2D6appearEv
|
||||||
status: NotDecompiled
|
status: Matching
|
||||||
- offset: 0x08adb0
|
- offset: 0x08adb0
|
||||||
size: 68
|
size: 68
|
||||||
label: _ZN16KoopaCappyEyes2D9disappearEv
|
label: _ZN16KoopaCappyEyes2D9disappearEv
|
||||||
status: NotDecompiled
|
status: Matching
|
||||||
- offset: 0x08adf4
|
- offset: 0x08adf4
|
||||||
size: 12
|
size: 12
|
||||||
label: _ZNK16KoopaCappyEyes2D19isPlayingAppearAnimEv
|
label: _ZNK16KoopaCappyEyes2D19isPlayingAppearAnimEv
|
||||||
status: NotDecompiled
|
status: Matching
|
||||||
- offset: 0x08ae00
|
- offset: 0x08ae00
|
||||||
size: 64
|
size: 64
|
||||||
label: _ZN16KoopaCappyEyes2D9exeAppearEv
|
label: _ZN16KoopaCappyEyes2D9exeAppearEv
|
||||||
status: NotDecompiled
|
status: Matching
|
||||||
- offset: 0x08ae40
|
- offset: 0x08ae40
|
||||||
size: 60
|
size: 60
|
||||||
label: _ZN16KoopaCappyEyes2D7exeWaitEv
|
label: _ZN16KoopaCappyEyes2D7exeWaitEv
|
||||||
status: NotDecompiled
|
status: Matching
|
||||||
- offset: 0x08ae7c
|
- offset: 0x08ae7c
|
||||||
size: 88
|
size: 88
|
||||||
label: _ZN16KoopaCappyEyes2D12exeDisappearEv
|
label: _ZN16KoopaCappyEyes2D12exeDisappearEv
|
||||||
status: NotDecompiled
|
status: Matching
|
||||||
- offset: 0x08aed4
|
- offset: 0x08aed4
|
||||||
size: 68
|
size: 68
|
||||||
label: _ZNK12_GLOBAL__N_125KoopaCappyEyes2DNrvAppear7executeEPN2al11NerveKeeperE
|
label: _ZNK12_GLOBAL__N_125KoopaCappyEyes2DNrvAppear7executeEPN2al11NerveKeeperE
|
||||||
status: NotDecompiled
|
status: Matching
|
||||||
guess: true
|
guess: true
|
||||||
- offset: 0x08af18
|
- offset: 0x08af18
|
||||||
size: 92
|
size: 92
|
||||||
label: _ZNK12_GLOBAL__N_128KoopaCappyEyes2DNrvDisappear7executeEPN2al11NerveKeeperE
|
label: _ZNK12_GLOBAL__N_128KoopaCappyEyes2DNrvDisappear7executeEPN2al11NerveKeeperE
|
||||||
status: NotDecompiled
|
status: Matching
|
||||||
guess: true
|
guess: true
|
||||||
- offset: 0x08af74
|
- offset: 0x08af74
|
||||||
size: 64
|
size: 64
|
||||||
label: _ZNK12_GLOBAL__N_123KoopaCappyEyes2DNrvWait7executeEPN2al11NerveKeeperE
|
label: _ZNK12_GLOBAL__N_123KoopaCappyEyes2DNrvWait7executeEPN2al11NerveKeeperE
|
||||||
status: NotDecompiled
|
status: Matching
|
||||||
guess: true
|
guess: true
|
||||||
Boss/Koopa/KoopaCapScaleAnimator.o:
|
Boss/Koopa/KoopaCapScaleAnimator.o:
|
||||||
'.text':
|
'.text':
|
||||||
|
|
|
||||||
53
src/Boss/Koopa/KoopaCappyEyes2D.cpp
Normal file
53
src/Boss/Koopa/KoopaCappyEyes2D.cpp
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
#include "Boss/Koopa/KoopaCappyEyes2D.h"
|
||||||
|
|
||||||
|
#include "Library/LiveActor/ActorActionFunction.h"
|
||||||
|
#include "Library/LiveActor/ActorInitUtil.h"
|
||||||
|
#include "Library/Nerve/NerveSetupUtil.h"
|
||||||
|
#include "Library/Nerve/NerveUtil.h"
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
NERVE_IMPL(KoopaCappyEyes2D, Appear)
|
||||||
|
NERVE_IMPL(KoopaCappyEyes2D, Disappear)
|
||||||
|
NERVE_IMPL(KoopaCappyEyes2D, Wait)
|
||||||
|
|
||||||
|
NERVES_MAKE_NOSTRUCT(KoopaCappyEyes2D, Appear, Disappear, Wait)
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
KoopaCappyEyes2D::KoopaCappyEyes2D(const char* name) : al::PartsModel(name) {}
|
||||||
|
|
||||||
|
void KoopaCappyEyes2D::init(const al::ActorInitInfo& info) {
|
||||||
|
al::initNerve(this, &Appear, 0);
|
||||||
|
makeActorDead();
|
||||||
|
}
|
||||||
|
|
||||||
|
void KoopaCappyEyes2D::appear() {
|
||||||
|
al::LiveActor::appear();
|
||||||
|
al::setNerve(this, &Appear);
|
||||||
|
}
|
||||||
|
|
||||||
|
void KoopaCappyEyes2D::disappear() {
|
||||||
|
if (!al::isNerve(this, &Disappear))
|
||||||
|
al::setNerve(this, &Disappear);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool KoopaCappyEyes2D::isPlayingAppearAnim() const {
|
||||||
|
return al::isNerve(this, &Appear);
|
||||||
|
}
|
||||||
|
|
||||||
|
void KoopaCappyEyes2D::exeAppear() {
|
||||||
|
if (al::isFirstStep(this))
|
||||||
|
al::startAction(this, "Appear");
|
||||||
|
al::setNerveAtActionEnd(this, &Wait);
|
||||||
|
}
|
||||||
|
|
||||||
|
void KoopaCappyEyes2D::exeWait() {
|
||||||
|
if (al::isFirstStep(this))
|
||||||
|
al::startAction(this, "Wait");
|
||||||
|
}
|
||||||
|
|
||||||
|
void KoopaCappyEyes2D::exeDisappear() {
|
||||||
|
if (al::isFirstStep(this))
|
||||||
|
al::startAction(this, "Disappear");
|
||||||
|
if (al::isActionEnd(this))
|
||||||
|
kill();
|
||||||
|
}
|
||||||
20
src/Boss/Koopa/KoopaCappyEyes2D.h
Normal file
20
src/Boss/Koopa/KoopaCappyEyes2D.h
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Library/Obj/PartsModel.h"
|
||||||
|
|
||||||
|
class KoopaCappyEyes2D : public al::PartsModel {
|
||||||
|
public:
|
||||||
|
KoopaCappyEyes2D(const char* name);
|
||||||
|
|
||||||
|
void init(const al::ActorInitInfo& info) override;
|
||||||
|
void appear() override;
|
||||||
|
|
||||||
|
void disappear();
|
||||||
|
bool isPlayingAppearAnim() const;
|
||||||
|
|
||||||
|
void exeAppear();
|
||||||
|
void exeWait();
|
||||||
|
void exeDisappear();
|
||||||
|
};
|
||||||
|
|
||||||
|
static_assert(sizeof(KoopaCappyEyes2D) == 0x148);
|
||||||
Loading…
Reference in a new issue