mirror of
https://github.com/PodeCaradox/GalaxyQuest-SteamFrame.git
synced 2026-10-23 03:01:37 +02:00
The sources of Petari (https://github.com/SMGCommunity/Petari), the Super Mario Galaxy decompilation by the SMGCommunity, at commit 0a5c6608dc3b4c44a9aa68c2535d1793dc565f02, unchanged but for LF line endings: LICENSE (as LICENSE-Petari.txt; CC0 1.0), include/, libs/ and src/. Left out: the game data Petari keeps from the original executable, the error message archive (include/Game/System/ ErrorArchive.hpp) and two tables (src/Game/System/GalaxyID.bcsv and StoryEvent.bcsv); GalaxyQuest's converter takes them from the player's own disc. The port's changes follow in the next commit, so `git diff petari-base -- decomp` shows them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
82 lines
2.1 KiB
C++
82 lines
2.1 KiB
C++
#pragma once
|
|
|
|
#include "Game/LiveActor/LiveActor.hpp"
|
|
#include <JSystem/JGeometry/TMatrix.hpp>
|
|
|
|
class ActorCameraInfo;
|
|
class ActorJointCtrl;
|
|
class BossStinkBugActionSequencer;
|
|
class BossStinkBugBombHolder;
|
|
class CollisionParts;
|
|
class GroundChecker;
|
|
class PartsModel;
|
|
|
|
class BossStinkBug : public LiveActor {
|
|
public:
|
|
enum SeVersion {
|
|
SeVersion_NORMAL = 0,
|
|
SeVersion_WATER = 1,
|
|
SeVersion_ANGRY = 2,
|
|
SeVersion_ANGRY_WATER = 3,
|
|
};
|
|
|
|
BossStinkBug(const char*);
|
|
|
|
virtual void init(const JMapInfoIter&);
|
|
virtual void calcAnim();
|
|
virtual void makeActorAppeared();
|
|
virtual void kill();
|
|
virtual void makeActorDead();
|
|
virtual void control();
|
|
virtual void calcAndSetBaseMtx();
|
|
virtual void attackSensor(HitSensor* pSender, HitSensor* pReceiver);
|
|
virtual bool receiveMsgPlayerAttack(u32 msg, HitSensor* pSender, HitSensor* pReceiver);
|
|
virtual bool receiveOtherMsg(u32 msg, HitSensor* pSender, HitSensor* pReceiver);
|
|
|
|
void start();
|
|
void initCamera(const JMapInfoIter&);
|
|
void initSensor();
|
|
void initCollision();
|
|
void disposeBomb();
|
|
void reuestMovementOnParts();
|
|
LiveActor* getWingModel();
|
|
LiveActor* getBombLauncher();
|
|
void calcUpVec(TVec3f*) const;
|
|
void updateAction();
|
|
void updatePose();
|
|
void setPose(MtxPtr);
|
|
void updateCamera();
|
|
bool isValidFollowId(s32) const;
|
|
void validateCollisionGround();
|
|
void validateCollisionFly();
|
|
void validateCollisionHitOnly();
|
|
void invalidateCollision();
|
|
void onBindLeg();
|
|
void offBindLeg();
|
|
bool isLegInWater() const;
|
|
void updateJointControl();
|
|
void appearStarPiece(s32);
|
|
void startEventCamera(const char*);
|
|
void endEventCamera(const char*);
|
|
bool isSensorBody(const HitSensor*) const;
|
|
bool throwBomb(f32, f32);
|
|
|
|
CollisionParts** _8C;
|
|
GroundChecker** _90;
|
|
BossStinkBugBombHolder* _94;
|
|
ActorJointCtrl* _98;
|
|
TPos3f _9C;
|
|
ActorCameraInfo* _CC;
|
|
BossStinkBugActionSequencer* mActionSequencer;
|
|
PartsModel* _D4;
|
|
PartsModel* mBombLauncher;
|
|
TQuat4f _DC;
|
|
TVec3f _EC;
|
|
TVec3f _F8;
|
|
s32 _104;
|
|
f32 _108;
|
|
f32 _10C;
|
|
bool _110;
|
|
bool _111;
|
|
};
|