SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
PackunPetit.hpp
1#pragma once
2
3#include "Game/LiveActor/LiveActor.hpp"
4#include "Game/Enemy/WalkerStateBindStarPointer.hpp"
5
6class PackunPetit : public LiveActor {
7public:
8 PackunPetit(const char *);
9
10 virtual ~PackunPetit();
11 virtual void init(const JMapInfoIter &);
12 virtual void initAfterPlacement();
13 virtual void kill();
14 virtual void control();
15 virtual void calcAndSetBaseMtx();
16 virtual void attackSensor(HitSensor *, HitSensor *);
17 virtual bool receiveMsgPlayerAttack(u32, HitSensor *, HitSensor *);
18 virtual bool receiveMsgEnemyAttack(u32, HitSensor *, HitSensor *);
19 virtual bool receiveOtherMsg(u32, HitSensor *, HitSensor *);
20
21 void exeNonActive();
22 void exeWait();
23 void exeFind();
24 void exeThreat();
25 void exeTurn();
26 void exeAttackStart();
27 void exeHitWaitForAttack();
28 inline void exeAttackBack();
29 inline void exeAttack();
30 void exeHit();
31 void exeTrampleDown();
32 void exePunchDown();
33 void exeSwoonStart();
34 void exeSwoon();
35 void exeSwoonToThreat();
36 void initBlowModel();
37 void punchDown(HitSensor *, HitSensor *);
38 void selectNrvWait();
39 bool tryNonActive();
40 bool tryTurn();
41 bool tryDPDSwoon();
42 inline void exeSwoonOnEnd();
43 inline void exeDPDSwoon();
44 inline void exeNonActiveOnEnd();
45
46 AnimScaleController* mScaleController; // _8C
47 WalkerStateBindStarPointer* mStarPointerState; // _90
48 TVec3f _94;
49 ModelObj* mBlownModel; // _A0
50 bool mDontTurn; // _A4
51};
52
53namespace NrvPackunPetit {
54 NERVE_DECL_ONEND(PackunPetitNrvNonActive, PackunPetit, PackunPetit::exeNonActive, PackunPetit::exeNonActiveOnEnd);
55 NERVE_DECL(PackunPetitNrvWait, PackunPetit, PackunPetit::exeWait);
56 NERVE_DECL(PackunPetitNrvFind, PackunPetit, PackunPetit::exeFind);
57 NERVE_DECL(PackunPetitNrvThreat, PackunPetit, PackunPetit::exeThreat);
58 NERVE_DECL(PackunPetitNrvLeftTurn, PackunPetit, PackunPetit::exeTurn);
59 NERVE_DECL(PackunPetitNrvRightTurn, PackunPetit, PackunPetit::exeTurn);
60 NERVE_DECL(PackunPetitNrvAttackStart, PackunPetit, PackunPetit::exeAttackStart);
61 NERVE_DECL(PackunPetitNrvAttack, PackunPetit, PackunPetit::exeAttack);
62 NERVE_DECL(PackunPetitNrvAttackBack, PackunPetit, PackunPetit::exeAttackBack);
63 NERVE_DECL(PackunPetitNrvHitWaitForAttack, PackunPetit, PackunPetit::exeHitWaitForAttack);
64 NERVE_DECL(PackunPetitNrvHit, PackunPetit, PackunPetit::exeHit);
65 NERVE_DECL(PackunPetitNrvTrampleDown, PackunPetit, PackunPetit::exeTrampleDown);
66 NERVE_DECL(PackunPetitNrvPunchDown, PackunPetit, PackunPetit::exePunchDown);
67 NERVE_DECL(PackunPetitNrvSwoonStart, PackunPetit, PackunPetit::exeSwoonStart);
68 NERVE_DECL(PackunPetitNrvSwoon, PackunPetit, PackunPetit::exeSwoon);
69 NERVE_DECL(PackunPetitNrvSwoonToThreat, PackunPetit, PackunPetit::exeSwoonToThreat);
70 NERVE_DECL_ONEND(PackunPetitNrvDPDSwoon, PackunPetit, PackunPetit::exeDPDSwoon, PackunPetit::exeSwoonOnEnd);
71};
The basis of a drawable actor that can contain states (see: Nerve)
Definition LiveActor.hpp:24
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.
virtual void calcAndSetBaseMtx()
Calculates and sets the base matrix of the actor.