Nearly match CGenDescription

This commit is contained in:
2024-12-24 00:29:59 -08:00
parent a1098ff31e
commit 83267c7a4b
6 changed files with 272 additions and 83 deletions

View File

@@ -1,8 +1,10 @@
#ifndef _CGENDESCRIPTION
#define _CGENDESCRIPTION
#include "Kyoto/CToken.hpp"
#include "types.h"
#include "Kyoto/Particles/CSpawnSystemKeyframeData.hpp"
#include "Kyoto/Particles/IElement.hpp"
#include "Kyoto/TToken.hpp"
@@ -12,94 +14,87 @@
class CModel;
class CElectricDescription;
class CSwooshDescription;
class CSpawnSystemKeyframeData;
class CGenDescription {
public:
typedef rstl::optional_object< TLockedToken< CModel > > TParticleModel;
typedef rstl::optional_object< TLockedToken< CGenDescription > > TChildGeneratorDesc;
typedef rstl::optional_object< TLockedToken< CSwooshDescription > > TSwooshGeneratorDesc;
typedef TLockedToken< CElectricDescription > TElectricGeneratorDesc;
CGenDescription();
~CGenDescription();
private:
rstl::single_ptr< CIntElement > x0_PSLT;
rstl::single_ptr< CIntElement > x4_PSWT;
rstl::single_ptr< CRealElement > x8_PSTS;
rstl::single_ptr< CVectorElement > xc_POFS;
rstl::single_ptr< CIntElement > x10_SEED;
rstl::single_ptr< CRealElement > x14_LENG;
rstl::single_ptr< CRealElement > x18_WIDT;
rstl::single_ptr< CIntElement > x1c_MAXP;
rstl::single_ptr< CRealElement > x20_GRTE;
rstl::single_ptr< CColorElement > x24_COLR;
rstl::single_ptr< CIntElement > x28_LTME;
rstl::single_ptr< CEmitterElement > x2c_EMTR;
bool x30_28_SORT : 1;
bool x31_24_MBLR : 1;
IElement* x0_PSLT;
IElement* x4_PSWT;
IElement* x8_PSTS;
IElement* xc_POFS;
IElement* x10_SEED;
IElement* x14_LENG;
IElement* x18_WIDT;
IElement* x1c_MAXP;
IElement* x20_GRTE;
IElement* x24_COLR;
IElement* x28_LTME;
IElement* x2c_EMTR;
bool x30_24_LINE : 1;
bool x30_29_LIT_ : 1;
bool x30_25_FXLL : 1;
bool x30_26_AAPH : 1;
bool x30_27_ZBUF : 1;
bool x30_25_FXLL : 1;
bool x31_25_PMAB : 1;
bool x31_31_VMD4 : 1;
bool x31_30_VMD3 : 1;
bool x31_29_VMD2 : 1;
bool x31_28_VMD1 : 1;
bool x32_25_OPTS : 1;
bool x31_26_PMUS : 1;
bool x31_27_PMOO : 1;
bool x32_24_CIND : 1;
bool x30_28_SORT : 1;
bool x30_29_LIT_ : 1;
bool x30_30_ORNT : 1;
bool x30_31_RSOP : 1;
rstl::single_ptr< CIntElement > x34_MBSP;
rstl::single_ptr< CRealElement > x38_SIZE;
rstl::single_ptr< CRealElement > x3c_ROTA;
rstl::single_ptr< CUVElement > x40_TEXR;
rstl::single_ptr< CUVElement > x44_TIND;
TParticleModel x48_PMDL;
rstl::single_ptr< CVectorElement > x58_PMOP;
rstl::single_ptr< CVectorElement > x5c_PMRT;
rstl::single_ptr< CVectorElement > x60_PMSC;
rstl::single_ptr< CColorElement > x64_PMCL;
rstl::single_ptr< CModVectorElement > x68_VEL1;
rstl::single_ptr< CModVectorElement > x6c_VEL2;
rstl::single_ptr< CModVectorElement > x70_VEL3;
rstl::single_ptr< CModVectorElement > x74_VEL4;
TChildGeneratorDesc x78_ICTS;
rstl::single_ptr< CIntElement > x88_NCSY;
rstl::single_ptr< CIntElement > x8c_CSSD;
TChildGeneratorDesc x90_IDTS;
rstl::single_ptr< CIntElement > xa0_NDSY;
TChildGeneratorDesc xa4_IITS;
rstl::single_ptr< CIntElement > xb4_PISY;
rstl::single_ptr< CIntElement > xb8_SISY;
bool x31_24_MBLR : 1;
bool x31_25_PMAB : 1;
bool x31_26_PMUS : 1;
bool x31_27_PMOO : 1;
bool x31_28_VMD1 : 1;
bool x31_29_VMD2 : 1;
bool x31_30_VMD3 : 1;
bool x31_31_VMD4 : 1;
bool x32_25_OPTS : 1;
bool x32_24_CIND : 1;
IElement* x34_MBSP;
IElement* x38_SIZE;
IElement* x3c_ROTA;
IElement* x40_TEXR;
IElement* x44_TIND;
rstl::optional_object< TCachedToken< CModel > > x48_PMDL;
IElement* x58_PMOP;
IElement* x5c_PMRT;
IElement* x60_PMSC;
IElement* x64_PMCL;
IElement* x68_VEL1;
IElement* x6c_VEL2;
IElement* x70_VEL3;
IElement* x74_VEL4;
rstl::optional_object< TCachedToken< CGenDescription > > x78_ICTS;
IElement* x88_NCSY;
IElement* x8c_CSSD;
rstl::optional_object< TCachedToken< CGenDescription > > x90_IDTS;
IElement* xa0_NDSY;
rstl::optional_object< TCachedToken< CGenDescription > > xa4_IITS;
IElement* xb4_PISY;
IElement* xb8_SISY;
rstl::single_ptr< CSpawnSystemKeyframeData > xbc_KSSM;
TSwooshGeneratorDesc xc0_SSWH;
rstl::single_ptr< CIntElement > xd0_SSSD;
rstl::single_ptr< CVectorElement > xd4_SSPO;
TElectricGeneratorDesc xd8_SELC;
rstl::single_ptr< CIntElement > xe4_SESD;
rstl::single_ptr< CVectorElement > xe8_SEPO;
rstl::single_ptr< CIntElement > xec_LTYP;
rstl::single_ptr< CColorElement > xf0_LCLR;
rstl::single_ptr< CRealElement > xf4_LINT;
rstl::single_ptr< CVectorElement > xf8_LOFF;
rstl::single_ptr< CVectorElement > xfc_LDIR;
rstl::single_ptr< CIntElement > x100_LFOT;
rstl::single_ptr< CRealElement > x104_LFOR;
rstl::single_ptr< CRealElement > x108_LSLA;
rstl::single_ptr< CRealElement > x10c_ADV1;
rstl::single_ptr< CRealElement > x110_ADV2;
rstl::single_ptr< CRealElement > x114_ADV3;
rstl::single_ptr< CRealElement > x118_ADV4;
rstl::single_ptr< CRealElement > x11c_ADV5;
rstl::single_ptr< CRealElement > x120_ADV6;
rstl::single_ptr< CRealElement > x124_ADV7;
rstl::single_ptr< CRealElement > x128_ADV8;
rstl::optional_object< TCachedToken< CSwooshDescription > > xc0_SSWH;
IElement* xd0_SSSD;
IElement* xd4_SSPO;
rstl::optional_object< CToken > xd8_SELC;
IElement* xe4_SESD;
IElement* xe8_SEPO;
IElement* xec_LTYP;
IElement* xf0_LCLR;
IElement* xf4_LINT;
IElement* xf8_LOFF;
IElement* xfc_LDIR;
IElement* x100_LFOT;
IElement* x104_LFOR;
IElement* x108_LSLA;
IElement* x10c_ADV1;
IElement* x110_ADV2;
IElement* x114_ADV3;
IElement* x118_ADV4;
IElement* x11c_ADV5;
IElement* x120_ADV6;
IElement* x124_ADV7;
IElement* x128_ADV8;
};
CHECK_SIZEOF(CGenDescription, 0x12c)