Formats.MD3.hpp 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. // CodeGear C++Builder
  2. // Copyright (c) 1995, 2024 by Embarcadero Technologies, Inc.
  3. // All rights reserved
  4. // (DO NOT EDIT: machine generated header) 'Formats.MD3.pas' rev: 36.00 (Windows)
  5. #ifndef Formats_MD3HPP
  6. #define Formats_MD3HPP
  7. #pragma delphiheader begin
  8. #pragma option push
  9. #if defined(__BORLANDC__) && !defined(__clang__)
  10. #pragma option -w- // All warnings off
  11. #pragma option -Vx // Zero-length empty class member
  12. #endif
  13. #pragma pack(push,8)
  14. #include <System.hpp>
  15. #include <SysInit.hpp>
  16. #include <System.Classes.hpp>
  17. #include <Stage.VectorTypes.hpp>
  18. //-- user supplied -----------------------------------------------------------
  19. namespace Formats
  20. {
  21. namespace Md3
  22. {
  23. //-- forward type declarations -----------------------------------------------
  24. struct TMD3Tag;
  25. struct TMD3Bone;
  26. struct TMD3Triangle;
  27. struct TMD3Face;
  28. struct TMD3TexCoord;
  29. struct TMD3Skin;
  30. struct TMD3Header;
  31. struct TMD3MeshHeader;
  32. struct TMD3MeshData;
  33. class DELPHICLASS TFileMD3;
  34. //-- type declarations -------------------------------------------------------
  35. struct DECLSPEC_DRECORD TMD3Tag
  36. {
  37. public:
  38. System::StaticArray<char, 64> strName;
  39. Stage::Vectortypes::TVector3f vPosition;
  40. Stage::Vectortypes::TMatrix3f rotation;
  41. };
  42. struct DECLSPEC_DRECORD TMD3Bone
  43. {
  44. public:
  45. Stage::Vectortypes::TVector3f mins;
  46. Stage::Vectortypes::TVector3f maxs;
  47. Stage::Vectortypes::TVector3f position;
  48. float scale;
  49. System::StaticArray<char, 16> creator;
  50. };
  51. struct DECLSPEC_DRECORD TMD3Triangle
  52. {
  53. public:
  54. Stage::Vectortypes::TVector3s vertex;
  55. Stage::Vectortypes::TVector2b normal;
  56. };
  57. struct DECLSPEC_DRECORD TMD3Face
  58. {
  59. public:
  60. Stage::Vectortypes::TVector3i vertexIndices;
  61. };
  62. struct DECLSPEC_DRECORD TMD3TexCoord
  63. {
  64. public:
  65. Stage::Vectortypes::TVector2f textureCoord;
  66. };
  67. struct DECLSPEC_DRECORD TMD3Skin
  68. {
  69. public:
  70. System::StaticArray<char, 64> strName;
  71. int shaderIndex;
  72. };
  73. struct DECLSPEC_DRECORD TMD3Header
  74. {
  75. public:
  76. System::StaticArray<char, 4> fileID;
  77. int version;
  78. System::StaticArray<char, 64> strFile;
  79. int flags;
  80. int numFrames;
  81. int numTags;
  82. int numMeshes;
  83. int numMaxSkins;
  84. int headerSize;
  85. int tagStart;
  86. int tagEnd;
  87. int fileSize;
  88. };
  89. struct DECLSPEC_DRECORD TMD3MeshHeader
  90. {
  91. public:
  92. System::StaticArray<char, 4> meshID;
  93. System::StaticArray<char, 64> strName;
  94. int flags;
  95. int numMeshFrames;
  96. int numSkins;
  97. int numVertices;
  98. int numTriangles;
  99. int triStart;
  100. int headerSize;
  101. int uvStart;
  102. int vertexStart;
  103. int meshSize;
  104. };
  105. struct DECLSPEC_DRECORD TMD3MeshData
  106. {
  107. private:
  108. typedef System::DynamicArray<TMD3Skin> _TMD3MeshData__1;
  109. typedef System::DynamicArray<TMD3Face> _TMD3MeshData__2;
  110. typedef System::DynamicArray<TMD3TexCoord> _TMD3MeshData__3;
  111. typedef System::DynamicArray<TMD3Triangle> _TMD3MeshData__4;
  112. public:
  113. TMD3MeshHeader MeshHeader;
  114. _TMD3MeshData__1 Skins;
  115. _TMD3MeshData__2 Triangles;
  116. _TMD3MeshData__3 TexCoords;
  117. _TMD3MeshData__4 Vertices;
  118. };
  119. #pragma pack(push,4)
  120. class PASCALIMPLEMENTATION TFileMD3 : public System::TObject
  121. {
  122. typedef System::TObject inherited;
  123. private:
  124. typedef System::DynamicArray<TMD3Bone> _TFileMD3__1;
  125. typedef System::DynamicArray<TMD3Tag> _TFileMD3__2;
  126. typedef System::DynamicArray<TMD3MeshData> _TFileMD3__3;
  127. public:
  128. TMD3Header ModelHeader;
  129. _TFileMD3__1 Bones;
  130. _TFileMD3__2 Tags;
  131. _TFileMD3__3 MeshData;
  132. void __fastcall LoadFromStream(System::Classes::TStream* aStream);
  133. public:
  134. /* TObject.Create */ inline __fastcall TFileMD3() : System::TObject() { }
  135. /* TObject.Destroy */ inline __fastcall virtual ~TFileMD3() { }
  136. };
  137. #pragma pack(pop)
  138. //-- var, const, procedure ---------------------------------------------------
  139. } /* namespace Md3 */
  140. } /* namespace Formats */
  141. #if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FORMATS_MD3)
  142. using namespace Formats::Md3;
  143. #endif
  144. #if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FORMATS)
  145. using namespace Formats;
  146. #endif
  147. #pragma pack(pop)
  148. #pragma option pop
  149. #pragma delphiheader end.
  150. //-- end unit ----------------------------------------------------------------
  151. #endif // Formats_MD3HPP