2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 05:47:42 +00:00

Rigging fixes

This commit is contained in:
Jack Andersen
2016-09-08 18:19:19 -10:00
parent 5c386d02a8
commit b6587d88fc
8 changed files with 100 additions and 37 deletions

View File

@@ -87,6 +87,14 @@ class CModelData
std::unique_ptr<CBooModel> m_xrayModelInst;
std::unique_ptr<CBooModel> m_infraModelInst;
struct WeakModelInsts
{
std::weak_ptr<CBooModel> m_normalModelInst;
std::weak_ptr<CBooModel> m_xrayModelInst;
std::weak_ptr<CBooModel> m_infraModelInst;
};
std::vector<WeakModelInsts> m_weakInsts;
public:
enum class EWhichModel
{
@@ -110,7 +118,7 @@ public:
const CActorLights* lights, const CModelFlags& drawFlags);
EWhichModel GetRenderingModel(const CStateManager& stateMgr) const;
CSkinnedModel& PickAnimatedModel(EWhichModel which) const;
std::unique_ptr<CBooModel>& PickStaticModel(EWhichModel which);
const std::unique_ptr<CBooModel>& PickStaticModel(EWhichModel which) const;
void SetXRayModel(const std::pair<ResId, ResId>& modelSkin);
void SetInfraModel(const std::pair<ResId, ResId>& modelSkin);
bool IsDefinitelyOpaque(EWhichModel);