metaforce/DataSpec/DNACommon/PART.hpp

421 lines
10 KiB
C++
Raw Normal View History

2016-02-02 04:29:58 +00:00
#ifndef __COMMON_PART_HPP__
#define __COMMON_PART_HPP__
#include "ParticleCommon.hpp"
namespace Retro
{
namespace DNAParticle
{
template <class IDType>
struct GPSM : BigYAML
{
static const char* DNAType() {return "Retro::GPSM";}
const char* DNATypeV() const {return DNAType();}
2016-02-02 19:11:17 +00:00
VectorElementFactory x18_POFS;
IntElementFactory x1c_PMED;
RealElementFactory x20_LENG;
RealElementFactory x24_WIDT;
IntElementFactory x28_MAXP;
RealElementFactory x2c_GRTE;
ColorElementFactory x30_COLR;
IntElementFactory x34_LTME;
VectorElementFactory x38_ILOC;
VectorElementFactory x3c_IVEC;
//EmitterElementFactory x40_EMTR;
bool x44_0_SORT : 1; bool x44_1_MBLR : 1; bool x44_2_LINE : 1; bool x44_3_LIT_ : 1;
bool x44_4_AAPH : 1; bool x44_5_ZBUF : 1; bool x44_6_FXLL : 1; bool x44_7_PMAB : 1;
bool x45_0_VMD4 : 1; bool x45_1_VMD3 : 1; bool x45_2_VMD2 : 1; bool x45_3_VMD1 : 1;
bool x45_4_OPTS : 1; bool x45_5_PMUS : 1; bool x45_6_PMOO : 1; // is the last bit unused?
IntElementFactory x48_MBSP;
RealElementFactory x4c_SIZE;
RealElementFactory x50_ROTA;
//TextureElementFactory x54_TEXR;
//TextureElementFactory x58_TIND;
// x5c_PMDL Model
VectorElementFactory x6c_PMOP;
VectorElementFactory x70_PMRT;
VectorElementFactory x74_PMSC;
ColorElementFactory x78_PMCL;
ChildGeneratorDesc<IDType> x8c_ICTS;
IntElementFactory x9c_NCSY;
IntElementFactory xb4_NDSY;
IntElementFactory xa0_CSSD;
2016-02-02 04:29:58 +00:00
ChildGeneratorDesc<IDType> xa4_IDTS;
2016-02-02 19:11:17 +00:00
IntElementFactory xc8_PISY;
IntElementFactory xcc_SISY;
IntElementFactory xe4_SSSD;
VectorElementFactory xe8_SSPO;
// xec_PMLC Electric Generator
IntElementFactory x100_LTYP;
ColorElementFactory x104_LCLR;
RealElementFactory x108_LINT;
VectorElementFactory x110_LDIR;
VectorElementFactory x10c_LOFF;
IntElementFactory x114_LFOT;
RealElementFactory x118_LFOR;
RealElementFactory x11c_LSLA;
2016-02-02 04:29:58 +00:00
void read(Athena::io::YAMLDocReader& r)
{
2016-02-02 19:11:17 +00:00
if (r.enterSubRecord("PMCL"))
{
x78_PMCL.read(r);
r.leaveSubRecord();
}
2016-02-02 04:29:58 +00:00
if (r.enterSubRecord("LFOR"))
{
x118_LFOR.read(r);
r.leaveSubRecord();
}
if (r.enterSubRecord("IDTS"))
{
xa4_IDTS.read(r);
r.leaveSubRecord();
}
if (r.enterSubRecord("EMTR"))
{
2016-02-02 19:11:17 +00:00
//x40_EMTR.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("COLR"))
{
2016-02-02 09:16:07 +00:00
x30_COLR.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("CIND"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("AAPH"))
{
2016-02-02 19:11:17 +00:00
x44_4_AAPH = r.readBool(nullptr);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("CSSD"))
{
2016-02-02 19:11:17 +00:00
xa0_CSSD.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("GRTE"))
{
2016-02-02 19:11:17 +00:00
x2c_GRTE.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("FXLL"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("ICTS"))
{
2016-02-02 19:11:17 +00:00
x8c_ICTS.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("KSSM"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("ILOC"))
{
2016-02-02 09:16:07 +00:00
x38_ILOC.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("IITS"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("IVEC"))
{
2016-02-02 09:16:07 +00:00
x3c_IVEC.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("LDIR"))
{
2016-02-02 09:16:07 +00:00
x110_LDIR.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("COLR"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("LCLR"))
{
2016-02-02 09:16:07 +00:00
x104_LCLR.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("LENG"))
{
2016-02-02 09:16:07 +00:00
x20_LENG.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("MAXP"))
{
2016-02-02 09:16:07 +00:00
x28_MAXP.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("LOFF"))
{
2016-02-02 09:16:07 +00:00
x10c_LOFF.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("LINT"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("LINE"))
{
2016-02-02 19:11:17 +00:00
x44_2_LINE = r.readBool(nullptr);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("LFOT"))
{
2016-02-02 09:16:07 +00:00
x114_LFOT.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("LIT_"))
{
2016-02-02 19:11:17 +00:00
x44_3_LIT_ = r.readBool(nullptr);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("LTME"))
{
2016-02-02 09:16:07 +00:00
x34_LTME.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("LSLA"))
{
2016-02-02 09:16:07 +00:00
x11c_LSLA.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("LTYP"))
{
2016-02-02 19:11:17 +00:00
x100_LTYP.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("NDSY"))
{
2016-02-02 09:16:07 +00:00
xb4_NDSY.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("MBSP"))
{
2016-02-02 19:11:17 +00:00
x48_MBSP.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("MBLR"))
{
2016-02-02 19:11:17 +00:00
x44_1_MBLR = r.readBool(nullptr);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("NCSY"))
{
2016-02-02 19:11:17 +00:00
x9c_NCSY.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("PISY"))
{
2016-02-02 19:11:17 +00:00
xc8_PISY.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("OPTS"))
{
2016-02-02 19:11:17 +00:00
x45_4_OPTS = r.readBool(nullptr);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("PMAB"))
{
2016-02-02 19:11:17 +00:00
x44_7_PMAB = r.readBool(nullptr);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("SESD"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("PSLT"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("PMSC"))
{
2016-02-02 19:11:17 +00:00
x74_PMSC.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("PMOP"))
{
2016-02-02 19:11:17 +00:00
x6c_PMOP.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("PMDL"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("PMOO"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("PMRT"))
{
2016-02-02 19:11:17 +00:00
x70_PMRT.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("POFS"))
{
2016-02-02 09:16:07 +00:00
x18_POFS.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("PMUS"))
{
2016-02-02 19:11:17 +00:00
x45_5_PMUS = r.readBool(nullptr);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("PSIV"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("ROTA"))
{
2016-02-02 09:16:07 +00:00
x50_ROTA.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("PSVM"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("PSTS"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("PSOV"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("PSWT"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("PMLC"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("PMED"))
{
2016-02-02 19:11:17 +00:00
x1c_PMED.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("PMOO"))
{
2016-02-02 19:11:17 +00:00
x45_6_PMOO = r.readBool(nullptr);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("SSSD"))
{
2016-02-02 19:11:17 +00:00
xe4_SSSD.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("SORT"))
{
2016-02-02 19:11:17 +00:00
x44_0_SORT = r.readBool(nullptr);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("SIZE"))
{
2016-02-02 09:16:07 +00:00
x4c_SIZE.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("SISY"))
{
2016-02-02 19:11:17 +00:00
xcc_SISY.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("SSPO"))
{
2016-02-02 19:11:17 +00:00
xe8_SSPO.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("TEXR"))
{
2016-02-02 19:11:17 +00:00
//x54_TEXR.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("SSWH"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("TIND"))
{
2016-02-02 19:11:17 +00:00
//x58_TIND.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("VMD4"))
{
2016-02-02 19:11:17 +00:00
x45_0_VMD4 = r.readBool(nullptr);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
2016-02-02 09:16:07 +00:00
if (r.enterSubRecord("VMD3"))
{
2016-02-02 19:11:17 +00:00
x45_1_VMD3 = r.readBool(nullptr);
2016-02-02 09:16:07 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("VMD2"))
{
2016-02-02 19:11:17 +00:00
x45_2_VMD2 = r.readBool(nullptr);
2016-02-02 09:16:07 +00:00
r.leaveSubRecord();
}
2016-02-02 04:29:58 +00:00
if (r.enterSubRecord("VMD1"))
{
2016-02-02 19:11:17 +00:00
x45_3_VMD1 = r.readBool(nullptr);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("VEL4"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("VEL3"))
{
r.leaveSubRecord();
}
2016-02-02 09:16:07 +00:00
if (r.enterSubRecord("VEL2"))
{
r.leaveSubRecord();
}
if (r.enterSubRecord("VEL1"))
2016-02-02 04:29:58 +00:00
{
r.leaveSubRecord();
}
if (r.enterSubRecord("ZBUF"))
{
2016-02-02 19:11:17 +00:00
x44_5_ZBUF = r.readBool(nullptr);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
if (r.enterSubRecord("WIDT"))
{
2016-02-02 09:16:07 +00:00
x24_WIDT.read(r);
2016-02-02 04:29:58 +00:00
r.leaveSubRecord();
}
}
void write(Athena::io::YAMLDocWriter& w) const
{
}
size_t binarySize(size_t __isz) const
{
}
void read(Athena::io::IStreamReader& r)
{
}
void write(Athena::io::IStreamWriter& w) const
{
}
};
}
}
#endif // __COMMON_PART_HPP__