ModelFile.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef MODEL_FILE_H
  2. #define MODEL_FILE_H
  3. #include "common/File.h"
  4. #include "common/Logger.h"
  5. #include "../../common/OgreGenUtilites.h"
  6. class ModelFile : public File
  7. {
  8. public:
  9. ModelFile( const Ogre::String &file );
  10. ModelFile( File* file );
  11. ModelFile( File* file, const u32 offset, const u32 length );
  12. ModelFile( u8* buffer, const u32 offset, const u32 length );
  13. virtual ~ModelFile();
  14. void GetModel( Ogre::MeshPtr mesh, const MeshData& info, VectorTexForGen& textures, Logger* export_text );
  15. void GetModelPart( const int part_id, Ogre::MeshPtr mesh, const MeshData& info, VectorTexForGen& textures, Logger* export_text, const int bone_id );
  16. private:
  17. int LoadPoly010305_18( float*& pPos, float*& tPos, Ogre::RGBA*& cPos, const MeshData& info, VectorTexForGen& textures );
  18. int LoadPoly04_18( float*& pPos, float*& tPos, Ogre::RGBA*& cPos, const MeshData& info, VectorTexForGen& textures );
  19. int LoadPoly090d_18( float*& pPos, float*& tPos, Ogre::RGBA*& cPos, const MeshData& info, VectorTexForGen& textures );
  20. int LoadPoly0c_18( float*& pPos, float*& tPos, Ogre::RGBA*& cPos, const MeshData& info, VectorTexForGen& textures );
  21. int TexSettings();
  22. void SetTexPageSettings();
  23. void SetClutSettings();
  24. Logger* m_ExportLog;
  25. int m_LightType;
  26. int m_PointerToTextureData;
  27. int m_PointerToMeshData;
  28. int m_PointerToVertexData;
  29. u16 m_CurrentClut;
  30. u16 m_CurrentTexPage;
  31. };
  32. #endif // MODEL_FILE_H