mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-10 08:27:43 +00:00
Add CPU-based skinning path for vertex manipulation effects
This commit is contained in:
@@ -1473,7 +1473,8 @@ template bool WriteCMDL<DNAMP1::MaterialSet, DNACMDL::SurfaceHeader_1, 2>
|
||||
(const hecl::ProjectPath& outPath, const hecl::ProjectPath& inPath, const Mesh& mesh);
|
||||
|
||||
template <class MaterialSet, class SurfaceHeader, atUint32 Version>
|
||||
bool WriteHMDLCMDL(const hecl::ProjectPath& outPath, const hecl::ProjectPath& inPath, const Mesh& mesh)
|
||||
bool WriteHMDLCMDL(const hecl::ProjectPath& outPath, const hecl::ProjectPath& inPath,
|
||||
const Mesh& mesh, hecl::PoolSkinIndex& poolSkinIndex)
|
||||
{
|
||||
Header head;
|
||||
head.magic = 0xDEADBABE;
|
||||
@@ -1536,7 +1537,7 @@ bool WriteHMDLCMDL(const hecl::ProjectPath& outPath, const hecl::ProjectPath& in
|
||||
}
|
||||
}
|
||||
|
||||
hecl::HMDLBuffers bufs = mesh.getHMDLBuffers(false);
|
||||
hecl::HMDLBuffers bufs = mesh.getHMDLBuffers(false, poolSkinIndex);
|
||||
|
||||
/* Metadata */
|
||||
size_t secSz = bufs.m_meta.binarySize(0);
|
||||
@@ -1643,7 +1644,8 @@ bool WriteHMDLCMDL(const hecl::ProjectPath& outPath, const hecl::ProjectPath& in
|
||||
}
|
||||
|
||||
template bool WriteHMDLCMDL<DNAMP1::HMDLMaterialSet, DNACMDL::SurfaceHeader_2, 2>
|
||||
(const hecl::ProjectPath& outPath, const hecl::ProjectPath& inPath, const Mesh& mesh);
|
||||
(const hecl::ProjectPath& outPath, const hecl::ProjectPath& inPath, const Mesh& mesh,
|
||||
hecl::PoolSkinIndex& poolSkinIndex);
|
||||
|
||||
template <class MaterialSet, class SurfaceHeader, class MeshHeader>
|
||||
bool WriteMREASecs(std::vector<std::vector<uint8_t>>& secsOut, const hecl::ProjectPath& inPath,
|
||||
@@ -1757,7 +1759,8 @@ bool WriteHMDLMREASecs(std::vector<std::vector<uint8_t>>& secsOut, const hecl::P
|
||||
meshHeader.write(w);
|
||||
}
|
||||
|
||||
hecl::HMDLBuffers bufs = mesh.getHMDLBuffers(true);
|
||||
hecl::PoolSkinIndex poolSkinIndex;
|
||||
hecl::HMDLBuffers bufs = mesh.getHMDLBuffers(true, poolSkinIndex);
|
||||
|
||||
std::vector<size_t> surfEndOffs;
|
||||
surfEndOffs.reserve(bufs.m_surfaces.size());
|
||||
|
||||
@@ -169,7 +169,8 @@ template <class MaterialSet, class SurfaceHeader, atUint32 Version>
|
||||
bool WriteCMDL(const hecl::ProjectPath& outPath, const hecl::ProjectPath& inPath, const Mesh& mesh);
|
||||
|
||||
template <class MaterialSet, class SurfaceHeader, atUint32 Version>
|
||||
bool WriteHMDLCMDL(const hecl::ProjectPath& outPath, const hecl::ProjectPath& inPath, const Mesh& mesh);
|
||||
bool WriteHMDLCMDL(const hecl::ProjectPath& outPath, const hecl::ProjectPath& inPath,
|
||||
const Mesh& mesh, hecl::PoolSkinIndex& poolSkinIndex);
|
||||
|
||||
template <class MaterialSet, class SurfaceHeader, class MeshHeader>
|
||||
bool WriteMREASecs(std::vector<std::vector<uint8_t>>& secsOut, const hecl::ProjectPath& inPath,
|
||||
|
||||
@@ -34,12 +34,12 @@ struct SChargedShotParam : SShotParam
|
||||
struct ITweakPlayerGun : ITweak
|
||||
{
|
||||
DECL_YAML
|
||||
virtual float GetX24() const = 0; // x24
|
||||
virtual float GetX28() const = 0; // x28
|
||||
virtual float GetX2c() const = 0; // x2c
|
||||
virtual float GetX30() const = 0; // x30
|
||||
virtual float GetX34() const = 0; // x34
|
||||
virtual float GetX38() const = 0; // x38
|
||||
virtual float GetAimVerticalSpeed() const = 0; // x24
|
||||
virtual float GetAimHorizontalSpeed() const = 0; // x28
|
||||
virtual float GetBombFuseTime() const = 0; // x2c
|
||||
virtual float GetBombDropDelayTime() const = 0; // x30
|
||||
virtual float GetHoloHoldTime() const = 0; // x34
|
||||
virtual float GetGunTransformTime() const = 0; // x38
|
||||
virtual float GetGunHolsterTime() const=0;
|
||||
virtual float GetGunNotFiringTime() const=0;
|
||||
virtual float GetFixedVerticalAim() const=0;
|
||||
|
||||
Reference in New Issue
Block a user