diff --git a/include/MoveBG/MapObjCorona.hpp b/include/MoveBG/MapObjCorona.hpp new file mode 100644 index 00000000..34df9065 --- /dev/null +++ b/include/MoveBG/MapObjCorona.hpp @@ -0,0 +1,54 @@ +#ifndef MOVE_BG_MAP_OBJ_CORONA_HPP +#define MOVE_BG_MAP_OBJ_CORONA_HPP + +#include + +class TBathtub : public TMapObjBase { +public: + TBathtub(const char*); + + void loadAfter(); + void hipdrop(const JGeometry::TVec3&); + void quake(const JGeometry::TVec3&); + u8 getNumGripsDead() const; + void tumble(f32, f32); + MtxPtr getTakingMtx(); + MtxPtr getSubmarineMtxInDemo(); + MtxPtr getPeachMtxInDemo(); + MtxPtr getKoopaJrMtxInDemo(); + BOOL receiveMessage(THitActor* sender, u32 message); + Mtx* getRootJointMtx() const; + void perform(u32, JDrama::TGraphics*); + void control(); + void calcBathtubData(); + void setupCollisions_(); + void removeCollisions_(); // Unused + void startDemo(); + bool allowsTumble() const; + void calcRootMatrix(); + bool getNearGrip(const JGeometry::TVec3&, f32, f32*) const; + u8 getNextJuncture(const JGeometry::TVec3&, + const JGeometry::TVec3&) const; + u8 getNextGrip(const JGeometry::TVec3&, const JGeometry::TVec3&, + f32, f32*) const; + void updatePosture_(); + void load(JSUMemoryInputStream&); + u8 getNumKillerLaunchable() const; + bool isKillerAttackable() const; + u8 getNumKillerBurstable() const; + bool isBreaking() const; // Unused + bool isKillerLaunchable() const; // Unused + void showMessage(u32); // Unused + u8 getNearJuncture(const JGeometry::TVec3&) const; // Unused + MtxPtr getKoopaMtxInDemo(); // Unused + MtxPtr getWaterMtx(s32); // Unused + MtxPtr getShineEffectMtx(); // Unused + MtxPtr getShineMtx(); // Unused + void liftMario(const JGeometry::TVec3&); // Unused + void trample(const JGeometry::TVec3&); // Unused + +public: + // Will start at 0x138 +}; + +#endif diff --git a/src/MoveBG/MapObjCorona.cpp b/src/MoveBG/MapObjCorona.cpp index e69de29b..42e132e5 100644 --- a/src/MoveBG/MapObjCorona.cpp +++ b/src/MoveBG/MapObjCorona.cpp @@ -0,0 +1,102 @@ +#include "MoveBG/MapObjCorona.hpp" +#include "MoveBG/MapObjBase.hpp" + +void TBathtub::loadAfter() { } + +void TBathtub::hipdrop(const JGeometry::TVec3&) { } + +void TBathtub::quake(const JGeometry::TVec3&) { } + +u8 TBathtub::getNumGripsDead() const { return 0; } + +void TBathtub::tumble(f32, f32) { } + +MtxPtr TBathtub::getTakingMtx() { return nullptr; } + +MtxPtr TBathtub::getSubmarineMtxInDemo() { return nullptr; } + +MtxPtr TBathtub::getPeachMtxInDemo() { return nullptr; } + +MtxPtr TBathtub::getKoopaJrMtxInDemo() { return nullptr; } + +BOOL TBathtub::receiveMessage(THitActor* sender, u32 message) { return false; } + +Mtx* TBathtub::getRootJointMtx() const { return nullptr; } + +void TBathtub::perform(u32, JDrama::TGraphics*) { } + +void TBathtub::control() { } + +void TBathtub::calcBathtubData() { } + +void TBathtub::setupCollisions_() { } + +void TBathtub::removeCollisions_() { } // Unused + +void TBathtub::startDemo() { } + +bool TBathtub::allowsTumble() const { return false; } + +void TBathtub::calcRootMatrix() { } + +bool TBathtub::getNearGrip(const JGeometry::TVec3&, f32, f32*) const +{ + return false; +} + +u8 TBathtub::getNextJuncture(const JGeometry::TVec3&, + const JGeometry::TVec3&) const +{ + return 0; +} + +u8 TBathtub::getNextGrip(const JGeometry::TVec3&, + const JGeometry::TVec3&, f32, f32*) const +{ + return 0; +} + +void TBathtub::updatePosture_() { } + +TBathtub::TBathtub(const char* name) + : TMapObjBase(name) +{ +} + +void TBathtub::load(JSUMemoryInputStream&) { } + +u8 TBathtub::getNumKillerLaunchable() const { return 0; } + +bool TBathtub::isKillerAttackable() const { return false; } + +u8 TBathtub::getNumKillerBurstable() const { return 0; } + +// Unused +bool TBathtub::isBreaking() const { return false; } + +// Unused +bool TBathtub::isKillerLaunchable() const { return false; } + +// Unused +void TBathtub::showMessage(u32) { } + +// Unused +u8 TBathtub::getNearJuncture(const JGeometry::TVec3&) const { return 0; } + +// Unused +MtxPtr TBathtub::getKoopaMtxInDemo() { return nullptr; } + +// Unused +MtxPtr TBathtub::getWaterMtx(s32) { return nullptr; } + +// Unused +MtxPtr TBathtub::getShineEffectMtx() { return nullptr; } + +// Unused +MtxPtr TBathtub::getShineMtx() { return nullptr; } + +// Unused +void TBathtub::liftMario(const JGeometry::TVec3&) { } + +// Unused +void TBathtub::trample(const JGeometry::TVec3&) { }