2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 22:27:41 +00:00

Initial CBodyState stubs

This commit is contained in:
2016-04-07 00:10:08 -07:00
parent 8f4cc0876e
commit b3687e46cc
6 changed files with 199 additions and 7 deletions

View File

@@ -0,0 +1,26 @@
#include "CDecalManager.hpp"
#include "CDecalDescription.hpp"
namespace urde
{
bool CDecalManager::m_PoolInitialized = false;
s32 CDecalManager::m_FreeIndex = 63;
float CDecalManager::m_DeltaTimeSinceLastDecalCreation = 0.f;
s32 CDecalManager::m_LastDecalCreatedIndex = -1;
TResId CDecalManager::m_LastDecalCreatedAssetId = -1;
void CDecalManager::Initialize()
{
if (m_PoolInitialized)
return;
m_DecalPool.clear();
m_DecalPool.resize(64);
m_FreeIndex = 63;
m_PoolInitialized = true;
m_DeltaTimeSinceLastDecalCreation = 0.f;
m_LastDecalCreatedIndex = -1;
m_LastDecalCreatedAssetId = -1;
}
}

View File

@@ -1,15 +1,41 @@
#ifndef __PSHAG_CDECALMANAGER_HPP__
#define __PSHAG_CDECALMANAGER_HPP__
#include "RetroTypes.hpp"
#include "rstl.hpp"
#include "optional.hpp"
#include "CToken.hpp"
namespace urde
{
class CDecalManager
class CDecal
{
public:
static void Initialize()
class CQuadDecal
{
}
};
};
class CDecalManager
{
struct SDecal
{
TAreaId m_areaId;
std::experimental::optional<CDecal> x60_decal;
SDecal() = default;
SDecal(std::experimental::optional<CDecal>&&, TAreaId);
};
static bool m_PoolInitialized;
static s32 m_FreeIndex;
static float m_DeltaTimeSinceLastDecalCreation;
static s32 m_LastDecalCreatedIndex;
static TResId m_LastDecalCreatedAssetId;
static rstl::reserved_vector<SDecal, 64> m_DecalPool;
static rstl::reserved_vector<s32, 64> m_ActiveIndexList;
public:
static void Initialize();
};
}

View File

@@ -138,7 +138,6 @@ void CParticleElectric::SetLocalScale(const zeus::CVector3f& scale)
x438_28_x450_28 = true;
if (x438_26_x450_26_HaveEPSM)
{
}
}

View File

@@ -71,16 +71,18 @@ private:
u8 dummy = 0;
};
void RenderSwooshes();
public:
CParticleElectric(const TToken<CElectricDescription>& desc);
void SetupLineGXMaterial();
void RenderLines();
void Update(double);
void RenderLines();
void RenderSwooshes();
void Render();
void CalculateFractal(s32, s32, float, float);
void CalculatePoints();
void SetOrientation(const zeus::CTransform&);
void SetTranslation(const zeus::CVector3f&);
void SetGlobalOrientation(const zeus::CTransform&);