mirror of https://github.com/PrimeDecomp/prime.git
Match & link CScriptDebugCameraWaypoint
This commit is contained in:
parent
0cfb3d0aff
commit
0eefeac3c6
|
@ -72,12 +72,16 @@ static EMaterialTypes SolidMaterial = kMT_Solid;
|
||||||
class CMaterialList {
|
class CMaterialList {
|
||||||
public:
|
public:
|
||||||
CMaterialList() : value(0) {}
|
CMaterialList() : value(0) {}
|
||||||
CMaterialList(EMaterialTypes material) : value(u64(1) << material) {}
|
CMaterialList(const EMaterialTypes& material) : value(0) { value |= u64(1) << material; }
|
||||||
|
// TODO
|
||||||
|
CMaterialList(const EMaterialTypes& m1, const EMaterialTypes& m2);
|
||||||
|
CMaterialList(const EMaterialTypes& m1, const EMaterialTypes& m2, const EMaterialTypes& m3);
|
||||||
|
CMaterialList(const EMaterialTypes& m1, const EMaterialTypes& m2, const EMaterialTypes& m3, const EMaterialTypes& m4);
|
||||||
|
CMaterialList(const EMaterialTypes& m1, const EMaterialTypes& m2, const EMaterialTypes& m3, const EMaterialTypes& m4,
|
||||||
|
const EMaterialTypes& m5);
|
||||||
CMaterialList(u64 value) : value(value) {}
|
CMaterialList(u64 value) : value(value) {}
|
||||||
|
|
||||||
void Add(EMaterialTypes material) {
|
void Add(EMaterialTypes material) { value |= u64(1) << material; }
|
||||||
value |= u64(1) << material;
|
|
||||||
}
|
|
||||||
const CMaterialList& Union(const CMaterialList& other) {
|
const CMaterialList& Union(const CMaterialList& other) {
|
||||||
value |= other.value;
|
value |= other.value;
|
||||||
return *this;
|
return *this;
|
||||||
|
|
|
@ -211,6 +211,9 @@ public:
|
||||||
const CMaterialList& list, const CActorParameters& params, TUniqueId nextDrawNode);
|
const CMaterialList& list, const CActorParameters& params, TUniqueId nextDrawNode);
|
||||||
~CActor();
|
~CActor();
|
||||||
|
|
||||||
|
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateManager& mgr) override;
|
||||||
|
void SetActive(bool active) override;
|
||||||
|
|
||||||
virtual void PreRender(CStateManager&, const CFrustumPlanes&);
|
virtual void PreRender(CStateManager&, const CFrustumPlanes&);
|
||||||
virtual void AddToRenderer(const CFrustumPlanes&, const CStateManager&) const;
|
virtual void AddToRenderer(const CFrustumPlanes&, const CStateManager&) const;
|
||||||
virtual void Render(const CStateManager&) const;
|
virtual void Render(const CStateManager&) const;
|
||||||
|
@ -226,10 +229,10 @@ public:
|
||||||
virtual CVector3f GetHomingPosition(const CStateManager&, float) const;
|
virtual CVector3f GetHomingPosition(const CStateManager&, float) const;
|
||||||
virtual CVector3f GetScanObjectIndicatorPosition(const CStateManager&) const;
|
virtual CVector3f GetScanObjectIndicatorPosition(const CStateManager&) const;
|
||||||
virtual EWeaponCollisionResponseTypes GetCollisionResponseType(const CVector3f&, const CVector3f&, const CWeaponMode&,
|
virtual EWeaponCollisionResponseTypes GetCollisionResponseType(const CVector3f&, const CVector3f&, const CWeaponMode&,
|
||||||
EProjectileAttrib) const;
|
int /*EProjectileAttrib?*/) const;
|
||||||
virtual void FluidFXThink(EFluidState, CScriptWater&, CStateManager&);
|
virtual void FluidFXThink(EFluidState, CScriptWater&, CStateManager&);
|
||||||
virtual void OnScanStateChanged(EScanState, CStateManager&);
|
virtual void OnScanStateChange(EScanState, CStateManager&);
|
||||||
virtual CAABox GetSortingBounds(const CStateManager&) const;
|
virtual CAABox GetSortingBounds(const CTransform4f&) const;
|
||||||
virtual void DoUserAnimEvent(CStateManager& mgr, const CInt32POINode& node, EUserEventType type, float dt);
|
virtual void DoUserAnimEvent(CStateManager& mgr, const CInt32POINode& node, EUserEventType type, float dt);
|
||||||
|
|
||||||
SAdvancementDeltas UpdateAnimation(float dt, CStateManager& mgr, bool advTree);
|
SAdvancementDeltas UpdateAnimation(float dt, CStateManager& mgr, bool advTree);
|
||||||
|
|
|
@ -113,6 +113,8 @@ public:
|
||||||
bool ForceRenderUnsorted() const { return x58_26_renderUnsorted; }
|
bool ForceRenderUnsorted() const { return x58_26_renderUnsorted; }
|
||||||
bool NoSortThermal() const { return x58_27_noSortThermal; }
|
bool NoSortThermal() const { return x58_27_noSortThermal; }
|
||||||
|
|
||||||
|
static CActorParameters None();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
CLightParameters x0_lightParams;
|
CLightParameters x0_lightParams;
|
||||||
CScannableParameters x40_scanParams;
|
CScannableParameters x40_scanParams;
|
||||||
|
|
|
@ -70,6 +70,7 @@ public:
|
||||||
bool GetSortThermal() const { return x14_25_sortThermal; }
|
bool GetSortThermal() const { return x14_25_sortThermal; }
|
||||||
void SetSortThermal(bool b) { x14_25_sortThermal = b; }
|
void SetSortThermal(bool b) { x14_25_sortThermal = b; }
|
||||||
|
|
||||||
|
static CModelData CModelDataNull();
|
||||||
static EWhichModel GetRenderingModel(const CStateManager& mgr);
|
static EWhichModel GetRenderingModel(const CStateManager& mgr);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
#ifndef _CSCRIPTDEBUGCAMERAWAYPOINT_HPP
|
||||||
|
#define _CSCRIPTDEBUGCAMERAWAYPOINT_HPP
|
||||||
|
|
||||||
|
#include "types.h"
|
||||||
|
|
||||||
|
#include "MetroidPrime/CActor.hpp"
|
||||||
|
|
||||||
|
class CScriptDebugCameraWaypoint : public CActor {
|
||||||
|
public:
|
||||||
|
CScriptDebugCameraWaypoint(TUniqueId uid, const rstl::string& name, const CEntityInfo& info, const CTransform4f& xf, uint value);
|
||||||
|
~CScriptDebugCameraWaypoint() override;
|
||||||
|
|
||||||
|
void Accept(IVisitor& visitor) override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
uint xe8_value;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
|
@ -172,7 +172,7 @@ METROIDPRIME :=\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/Enemies/CPuddleSpore.o\
|
$(BUILD_DIR)/asm/MetroidPrime/Enemies/CPuddleSpore.o\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/BodyState/CBSTaunt.o\
|
$(BUILD_DIR)/asm/MetroidPrime/BodyState/CBSTaunt.o\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/CSortedLists.o\
|
$(BUILD_DIR)/asm/MetroidPrime/CSortedLists.o\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/ScriptObjects/CScriptDebugCameraWaypoint.o\
|
$(BUILD_DIR)/src/MetroidPrime/ScriptObjects/CScriptDebugCameraWaypoint.o\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/ScriptObjects/CScriptSpiderBallAttractionSurface.o\
|
$(BUILD_DIR)/asm/MetroidPrime/ScriptObjects/CScriptSpiderBallAttractionSurface.o\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/BodyState/CBSScripted.o\
|
$(BUILD_DIR)/asm/MetroidPrime/BodyState/CBSScripted.o\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/Enemies/CPuddleToadGamma.o\
|
$(BUILD_DIR)/asm/MetroidPrime/Enemies/CPuddleToadGamma.o\
|
||||||
|
|
|
@ -40,7 +40,7 @@ CActor::CActor(TUniqueId uid, bool active, const rstl::string& name, const CEnti
|
||||||
, x34_transform(xf)
|
, x34_transform(xf)
|
||||||
, x64_modelData(mData.IsNull() ? nullptr : new CModelData(mData))
|
, x64_modelData(mData.IsNull() ? nullptr : new CModelData(mData))
|
||||||
, x68_material(MakeActorMaterialList(list, params))
|
, x68_material(MakeActorMaterialList(list, params))
|
||||||
, x70_materialFilter(CMaterialFilter::MakeIncludeExclude(CMaterialList().Union(SolidMaterial), CMaterialList(0)))
|
, x70_materialFilter(CMaterialFilter::MakeIncludeExclude(CMaterialList(SolidMaterial), CMaterialList()))
|
||||||
, x88_sfxId(InvalidSfxId)
|
, x88_sfxId(InvalidSfxId)
|
||||||
, x8c_loopingSfxHandle(0)
|
, x8c_loopingSfxHandle(0)
|
||||||
, x90_actorLights(mData.IsNull() ? nullptr : params.GetLighting().MakeActorLights().release())
|
, x90_actorLights(mData.IsNull() ? nullptr : params.GetLighting().MakeActorLights().release())
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
#include "MetroidPrime/ScriptObjects/CScriptDebugCameraWaypoint.hpp"
|
||||||
|
#include "MetroidPrime/CActorParameters.hpp"
|
||||||
|
|
||||||
|
CScriptDebugCameraWaypoint::CScriptDebugCameraWaypoint(TUniqueId uid, const rstl::string& name, const CEntityInfo& info,
|
||||||
|
const CTransform4f& xf, uint value)
|
||||||
|
: CActor(uid, true, name, info, xf, CModelData::CModelDataNull(), CMaterialList(kMT_NoStepLogic), CActorParameters::None(),
|
||||||
|
kInvalidUniqueId)
|
||||||
|
, xe8_value(value) {}
|
||||||
|
|
||||||
|
void CScriptDebugCameraWaypoint::Accept(IVisitor& visitor) { visitor.Visit(*this); }
|
||||||
|
|
||||||
|
CScriptDebugCameraWaypoint::~CScriptDebugCameraWaypoint() {}
|
Loading…
Reference in New Issue