2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 01:07:43 +00:00

Massive template-based DNA refactor

This commit is contained in:
Jack Andersen
2018-02-21 21:24:51 -10:00
parent b405f33ded
commit e4ff23c279
265 changed files with 3993 additions and 5773 deletions

View File

@@ -6,14 +6,15 @@
namespace DataSpec::DNADGRP
{
template <class IDType>
struct DGRP : BigYAML
struct AT_SPECIALIZE_PARMS(DataSpec::UniqueID32, DataSpec::UniqueID64) DGRP : BigDNA
{
DECL_YAML
AT_DECL_DNA_YAML
Value<atUint32> dependCount;
struct ObjectTag : BigYAML
struct ObjectTag : BigDNA
{
DECL_YAML
AT_DECL_DNA_YAML
DNAFourCC type;
IDType id;
};
@@ -21,10 +22,11 @@ struct DGRP : BigYAML
Vector<ObjectTag, DNA_COUNT(dependCount)> depends;
};
template <class IDType>
bool ExtractDGRP(PAKEntryReadStream& rs, const hecl::ProjectPath& outPath);
template <class IDType>
bool WriteDGRP(const DGRP<IDType>& dgrp, const hecl::ProjectPath& outPath);
}
#endif // __COMMON_DGRP_HPP__