My Project
XFileCharModelParser.h
1 #pragma once
2 #include "modelheaders.h"
3 #include "XFileParser.h"
4 #include "animated.h"
5 
6 namespace ParaEngine
7 {
8  class CParaXModel;
9 
12  {
13  public:
17  XFileCharModelParser(const char* pBuffer, int32 nSize);
19  public:
22 
26  bool LoadParaX_Header();
32  void LoadParaX_Finalize();
33 
34  public:
38  inline const char* GetRawData(int nOffset) const { return (m_pRaw != 0) ? (m_pRaw + nOffset) : NULL; };
39 
40  public:
41  //** read the header to xheader. */
42  bool ReadParaXHeader(ParaXHeaderDef& xheader, XFileDataObjectPtr pFileData);
44  bool ReadXGlobalSequences(CParaXModel& xmesh, XFileDataObjectPtr pFileData);
45  bool ReadXVertices(CParaXModel& xmesh, XFileDataObjectPtr pFileData);
46  bool ReadXTextures(CParaXModel& xmesh, XFileDataObjectPtr pFileData);
47  bool ReadXAttachments(CParaXModel& xmesh, XFileDataObjectPtr pFileData);
48  bool ReadXColors(CParaXModel& xmesh, XFileDataObjectPtr pFileData);
49  bool ReadXTransparency(CParaXModel& xmesh, XFileDataObjectPtr pFileData);
50  bool ReadXViews(CParaXModel& xmesh, XFileDataObjectPtr pFileData);
51  bool ReadXIndices0(CParaXModel& xmesh, XFileDataObjectPtr pFileData);
52  bool ReadXGeosets(CParaXModel& xmesh, XFileDataObjectPtr pFileData);
53  bool ReadXRenderPass(CParaXModel& xmesh, XFileDataObjectPtr pFileData);
54  bool ReadXBones(CParaXModel& xmesh, XFileDataObjectPtr pFileData);
55  bool ReadXTexAnims(CParaXModel& xmesh, XFileDataObjectPtr pFileData);
56  bool ReadXParticleEmitters(CParaXModel& xmesh, XFileDataObjectPtr pFileData);
57  bool ReadXRibbonEmitters(CParaXModel& xmesh, XFileDataObjectPtr pFileData);
58  bool ReadXCameras(CParaXModel& xmesh, XFileDataObjectPtr pFileData);
59  bool ReadXLights(CParaXModel& xmesh, XFileDataObjectPtr pFileData);
60  bool ReadXAnimations(CParaXModel& xmesh, XFileDataObjectPtr pFileData);
61 
62 
67  bool ReadAnimationBlock(const AnimationBlock* b, Animated<Vector3>& anims, int *gs);
68  bool ReadAnimationBlock(const AnimationBlock* b, AnimatedShort& anims, int *gs);
69  bool ReadAnimationBlock(const AnimationBlock* b, Animated<float>& anims, int *gs);
70  bool ReadAnimationBlock(const AnimationBlock* b, Animated<Quaternion>& anims, int *gs);
71  protected:
72  ParaXHeaderDef m_xheader;
73  const char* m_pRaw;
74  XFileDataObjectPtr m_pRoot;
75  XFileDataObjectPtr m_pParaXBody;
76  XFileDataObjectPtr m_pParaXRawData;
77  XFileDataObjectPtr m_pParaXRef;
78  XFileDataObjectPtr m_pD3DMesh;
79  XFileDataObjectPtr m_pD3DRootFrame;
80  bool m_bHeaderLoaded;
81  };
82 }
CParaXModel * LoadParaX_Body()
processing the body data according to file type.
Definition: XFileCharModelParser.cpp:95
bool LoadParaX_Header()
Load through a ParaXParser object.
Definition: XFileCharModelParser.cpp:40
void LoadParaX_Finalize()
Finalize parser object.
Definition: XFileCharModelParser.cpp:262
different physics engine has different winding order.
Definition: EventBinding.h:32
The XFileParser reads a XFile either in text or binary form and builds a temporary data structure out...
Definition: XFileParser.h:19
Definition: animated.h:23
ParaX header definition: this header is shared by all ParaEngine model files.
Definition: modelheaders.h:31
bool ReadXRenderPass(CParaXModel &xmesh, XFileDataObjectPtr pFileData)
Definition: XFileCharModelParser.cpp:592
const char * GetRawData(int nOffset) const
get the raw data pointer at the specified offset.
Definition: XFileCharModelParser.h:38
XFileCharModelParser(const char *pBuffer, int32 nSize)
Constructor.
Definition: XFileCharModelParser.cpp:19
CParaXModel * ParseParaXModel()
parse parax model
Definition: XFileCharModelParser.cpp:29
bool ReadAnimationBlock(const AnimationBlock *b, Animated< Vector3 > &anims, int *gs)
read animation block to Animated<> struct
parsing character parax model: binary file only.
Definition: XFileCharModelParser.h:11
ParaX model is the model file for character animation, etc in the game world.
Definition: ParaXModel.h:30
bool ReadXGlobalSequences(CParaXModel &xmesh, XFileDataObjectPtr pFileData)
read all sub data
Definition: XFileCharModelParser.cpp:353
Definition: modelheaders.h:186