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 {
|
||||
public:
|
||||
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) {}
|
||||
|
||||
void Add(EMaterialTypes material) {
|
||||
value |= u64(1) << material;
|
||||
}
|
||||
void Add(EMaterialTypes material) { value |= u64(1) << material; }
|
||||
const CMaterialList& Union(const CMaterialList& other) {
|
||||
value |= other.value;
|
||||
return *this;
|
||||
|
|
|
@ -211,6 +211,9 @@ public:
|
|||
const CMaterialList& list, const CActorParameters& params, TUniqueId nextDrawNode);
|
||||
~CActor();
|
||||
|
||||
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateManager& mgr) override;
|
||||
void SetActive(bool active) override;
|
||||
|
||||
virtual void PreRender(CStateManager&, const CFrustumPlanes&);
|
||||
virtual void AddToRenderer(const CFrustumPlanes&, const CStateManager&) const;
|
||||
virtual void Render(const CStateManager&) const;
|
||||
|
@ -226,10 +229,10 @@ public:
|
|||
virtual CVector3f GetHomingPosition(const CStateManager&, float) const;
|
||||
virtual CVector3f GetScanObjectIndicatorPosition(const CStateManager&) const;
|
||||
virtual EWeaponCollisionResponseTypes GetCollisionResponseType(const CVector3f&, const CVector3f&, const CWeaponMode&,
|
||||
EProjectileAttrib) const;
|
||||
int /*EProjectileAttrib?*/) const;
|
||||
virtual void FluidFXThink(EFluidState, CScriptWater&, CStateManager&);
|
||||
virtual void OnScanStateChanged(EScanState, CStateManager&);
|
||||
virtual CAABox GetSortingBounds(const CStateManager&) const;
|
||||
virtual void OnScanStateChange(EScanState, CStateManager&);
|
||||
virtual CAABox GetSortingBounds(const CTransform4f&) const;
|
||||
virtual void DoUserAnimEvent(CStateManager& mgr, const CInt32POINode& node, EUserEventType type, float dt);
|
||||
|
||||
SAdvancementDeltas UpdateAnimation(float dt, CStateManager& mgr, bool advTree);
|
||||
|
|
|
@ -113,6 +113,8 @@ public:
|
|||
bool ForceRenderUnsorted() const { return x58_26_renderUnsorted; }
|
||||
bool NoSortThermal() const { return x58_27_noSortThermal; }
|
||||
|
||||
static CActorParameters None();
|
||||
|
||||
private:
|
||||
CLightParameters x0_lightParams;
|
||||
CScannableParameters x40_scanParams;
|
||||
|
|
|
@ -70,6 +70,7 @@ public:
|
|||
bool GetSortThermal() const { return x14_25_sortThermal; }
|
||||
void SetSortThermal(bool b) { x14_25_sortThermal = b; }
|
||||
|
||||
static CModelData CModelDataNull();
|
||||
static EWhichModel GetRenderingModel(const CStateManager& mgr);
|
||||
|
||||
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/BodyState/CBSTaunt.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/BodyState/CBSScripted.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)
|
||||
, x64_modelData(mData.IsNull() ? nullptr : new CModelData(mData))
|
||||
, x68_material(MakeActorMaterialList(list, params))
|
||||
, x70_materialFilter(CMaterialFilter::MakeIncludeExclude(CMaterialList().Union(SolidMaterial), CMaterialList(0)))
|
||||
, x70_materialFilter(CMaterialFilter::MakeIncludeExclude(CMaterialList(SolidMaterial), CMaterialList()))
|
||||
, x88_sfxId(InvalidSfxId)
|
||||
, x8c_loopingSfxHandle(0)
|
||||
, 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