Files
2024-08-20 20:19:54 -04:00

149 lines
3.7 KiB
C++

#pragma once
#include "Game/MapObj/MapObjActor.hpp"
#include "Game/NameObj/NameObjArchiveListCollector.hpp"
struct SoundEffectDataEntry {
const char* objectName; // 0x0
const char* soundName; // 0x4
f32 _8;
};
namespace {
static SoundEffectDataEntry sSeDataTable[8] = {
{ "KoopaShipSeesawStep", "SE_OJ_LV_KOOPA_SHIP_SEESAW", 0.001f },
{ "IceVolcanoBalanceStepA", "SE_OJ_LV_VOL_BAL_STEP_ROT", 0.001f },
{ "IceVolcanoBalanceStepB", "SE_OJ_LV_VOL_BAL_STEP_ROT", 0.001f },
{ "IceMountainSeesawSlipA", "SE_OJ_LV_ICE_M_SEESAW_S", 0.001f },
{ "IceMountainSeesawSlipB", "SE_OJ_LV_ICE_M_SEESAW_M", 0.001f },
{ "IceMountainSeesawSlipC", "SE_OJ_LV_ICE_M_SEESAW_L", 0.001f },
{ "IceMountainSeesawSlipD", "SE_OJ_LV_ICE_M_SEESAW_L", 0.001f },
{ "IceMountainSeesawNoSlipA", "SE_OJ_LV_ICE_M_SEESAW_S", 0.001f },
};
};
class SimpleMapObj : public MapObjActor {
public:
SimpleMapObj(const char *pName) : MapObjActor(pName) {
}
virtual ~SimpleMapObj() {
}
virtual void init(const JMapInfoIter &);
};
class SimpleEnvironmentObj : public MapObjActor {
public:
inline SimpleEnvironmentObj(const char *pName) : MapObjActor(pName) {
}
virtual ~SimpleEnvironmentObj();
virtual void init(const JMapInfoIter &);
virtual void connectToScene(const MapObjActorInitInfo &);
};
class SimpleMapObjFarMax : public SimpleMapObj {
public:
inline SimpleMapObjFarMax(const char *pName) : SimpleMapObj(pName) {
}
virtual ~SimpleMapObjFarMax() {
}
virtual void init(const JMapInfoIter &);
};
class SimpleMapObjPush : public SimpleMapObj {
public:
inline SimpleMapObjPush(const char *pName) : SimpleMapObj(pName) {
}
virtual ~SimpleMapObjPush();
virtual void attackSensor(HitSensor *, HitSensor *);
};
class SimpleMapObjNoSilhouetted : public SimpleMapObj {
public:
inline SimpleMapObjNoSilhouetted(const char *pName) : SimpleMapObj(pName) {
}
virtual ~SimpleMapObjNoSilhouetted();
virtual void connectToScene(const MapObjActorInitInfo &);
};
class SimpleSeesawObj : public MapObjActor {
public:
SimpleSeesawObj(const char *);
virtual ~SimpleSeesawObj();
virtual void init(const JMapInfoIter &);
virtual void control();
TMtx34f _C4;
};
class SimpleMirrorObj : public MapObjActor {
public:
SimpleMirrorObj(const char *pName, const char *a2 = NULL, MtxPtr = NULL);
virtual ~SimpleMirrorObj();
virtual void init(const JMapInfoIter &);
virtual void calcAndSetBaseMtx();
MtxPtr mMtx; // 0xC4
};
class SimpleMirrorReflectionObj : public SimpleMapObj {
public:
inline SimpleMirrorReflectionObj(const char *pName) : SimpleMapObj(pName) {
}
virtual ~SimpleMirrorReflectionObj();
virtual void init(const JMapInfoIter &);
virtual void connectToScene(const MapObjActorInitInfo &);
};
class SimpleTextureSwitchChangeObj : public SimpleMapObj {
inline SimpleTextureSwitchChangeObj(const char *pName) : SimpleMapObj(pName) {
}
virtual ~SimpleTextureSwitchChangeObj();
virtual void initCaseUseSwitchA(const MapObjActorInitInfo &);
virtual s32 getChangedTextureNo() const;
void changeTexture();
};
class UFOKinokoUnderConstruction : public MapObjActor {
inline UFOKinokoUnderConstruction(const char *pName) : MapObjActor(pName) {
}
virtual ~UFOKinokoUnderConstruction();
virtual void init(const JMapInfoIter &);
};
class GlaringLight : public SimpleMapObj {
public:
inline GlaringLight(const char *pName) : SimpleMapObj(pName) {
}
virtual ~GlaringLight();
virtual void connectToScene(const MapObjActorInitInfo &);
};
namespace MR {
void makeArchiveListUFOKinokoUnderConstruction(NameObjArchiveListCollector *, const JMapInfoIter &);
};