Advertisement
Guest User

Dragon nest

a guest
Feb 20th, 2012
643
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. Översatt version av -------.txt
  3. . Pak
  4. Resources in Baotou
  5. struct _Header
  6. {
  7. the flag of a char [256];
  8. DWORD dwUnknown;
  9. The DWORD dwIndexCount; / / the total number of file index
  10. The offset location of the the DWORD dwIndexOffset; / / file index data in the pak
  11. ;}
  12. / / For each file, the data block of the index data is zip
  13. struct EyedentityIndex
  14. {
  15. a char fileName [256]; / / file name
  16. DWORD dwSizeCompressed; / / the compressed size
  17. DWORD dwSizeUncompressed; / / the uncompressed size
  18. DWORD the dwSize; / / pak package size
  19. The location of the DWORD the dwOffset; / / offset in pak
  20. DWORD dwUnkonwn;
  21. The DWORD dwReserved [10];
  22. ;}
  23.  
  24. . Ext
  25. Two-dimensional table in front of the header list, followed by each row of data, format, size + data
  26. Each header occupy 64byte
  27. The first one uint32 unknown
  28. The second one uint32 the number of header
  29. The third uint32 is the number of rows
  30. For example defaultcreatetable.ext
  31. Second uint32 3C010000 that is, 316 is the number of header information when creating personas
  32. Third uint32 for the 04 million that is, 4 is the number of rows, only four occupational
  33. File at the end to the THEND
  34. Beginning of each line the first one uint32 the number of rows
  35. Header
  36. struct _ExtHeader
  37. {
  38. uint32, the id;
  39. / / header uint32, maxHeader;
  40. uint32 nLines; / / number of rows
  41.  
  42. / / Table header
  43. struct _Header
  44. {
  45. char name [64];
  46. uint32, type; / / data types is 32 digits, a string, etc.
  47. ;}
  48. ;}
  49.  
  50. . Msh
  51. The model mesh, the following format
  52. struct _DNHeader
  53. {
  54. char name [256];
  55. uint32, version; / / version
  56. uint32, nMesh; / / total number of the mesh
  57. uint32 unknown3;
  58. uint32 unknown4;
  59. vec3f max;
  60. vec3f min;
  61. uint32 nBone; / / total number of the back bone
  62. ;}
  63. Beginning of the file offset of 1024 bytes is the bone data
  64. struct _DNBone
  65. {
  66. char name [256];
  67. vec4f a, b, c, d;
  68. ;}
  69. Followed by the mesh information, followed by the triangle index, vertices, normals, texture
  70. struct _DNSceneRoot
  71. {
  72. a char of name1 [256];
  73. a char name2 [256];
  74. uint32 nVertex; / / vertices of the total number of
  75. uint32 count16; / / 2 bytes of the total number of triangular index
  76. uint32 unknown1;
  77. uint32, renderMode; / / renderMode & 0x01? square using GL_TRIANGLE_STRIP just: GL_TRIANGLES as the
  78. char unknown [512 - 16];
  79. ;}
  80. Followed by 8 * vertex the total number of bytes of data, uint16 four integer a vertex, the vertices of the four bones index
  81. Followed by the total number of bytes of data 16 * vertex, a vertex is four floating-point numbers, added together is just one, may be the vertex of the four bone weights
  82.  
  83.  
  84. A msh file may have more than one mesh, above the main mesh information
  85. Behind the main mesh is a uint32 number and said the total number of back bone, where the bone is only 256 bytes of the name, but not abcd these four floating-point
  86. Followed SceneRoot, with the main mesh structure
  87. Then followed a uint32 number, said the total number of back bone, and so on
  88.  
  89. .. Skn
  90. Material file
  91.  
  92. struct _DNSkinHeader
  93. {
  94. char name [256]; / / flag
  95. char meshName [256]; / / corresponding mesh name
  96. uint32, version;
  97. uint32 nSkin; / / containing skin the total number of
  98. ;}
  99.  
  100. The header information of each material
  101. struct _Header
  102. {
  103. char name [256];
  104. char DiffuseFX [256];
  105. float32 unknown1;
  106. uint32 unknown2;
  107. ;}
  108.  
  109. Behind the data is a string form of identification
  110. Is an object serialization to store the number of elements, then the type and size of the data, then the specific data
  111. For example, vec4f type is 2, the std :: string is 3. Float32 is a string storage format is: Size + bytes data + 0
  112. vec4f g_MaterialAmbient;
  113. vec4f g_MaterialDiffuse;
  114. std :: string g_DiffuseTex;
  115. std :: string g_MaskTex;
  116. vec4f g_EmissiveColor;
  117. float32 g_EmissivePower;
  118. float32 g_EmissivePowerRange;
  119. float32 g_EmissiveAniSpeed;
  120. vec4f g_SkinColor;
  121. std :: string g_TatooTex;
  122. vec4f g_EyeColor;
  123. vec4f g_CustomColor;
  124.  
  125. Added: (17:01 2010/8/10)
  126.  
  127. A msh file can contain more than one mesh,
  128. Each mesh data format, the two string name, index, the vertex normal, texcoord
  129. Bone, then the followed boneIndex and boneWeight, each vertex of each of four
  130. Followed by the sub bone boneIndex, in front of this index the sub bone re-index files at the beginning of bone
  131.  
  132. The bones of the beginning of the file only keep the name string is used to index. Ani file in the bone,
  133. In order to find the impact of vertices of a bone in a frame animation of the transformation matrix
  134.  
  135. . Ani format
  136. Header
  137. struct _AniHeader
  138. {
  139. char name [256];
  140. uint32, version;
  141. uint32, nBone; / / bone the total number of
  142. uint32 nAni; / / animation the total number of
  143. ;}
  144. Followed by the number of frames in each animation, is the total number of frames for each animation
  145.  
  146. Followed by the data of a bone a bone points, the number of bones in the file header nBone
  147. Contains all the animation data in a bone, and then the next bone, or containing the skeletal animation data
  148.  
  149. Data structure for each bone:
  150. Bone name string, the name of the parent bone string
  151. Then the transformation data for each animation, the animation number in the file header nAni
  152.  
  153. The data structure for each animation:
  154. First, a translation vec3f a rotating vec4f, a zoom vec3f, this is the the animations initial frame transformation
  155.  
  156. Followed by a uint32, said to transform the number of translation, no translation transformation is 0
  157. Followed by a uint32,, that the rotation transformation number, there is no rotation transformation is 0
  158. Followed by a uint32, the scaling transformation number, there is no scaling transformation is 0
  159.  
  160. Translation transform structure: a uint16 number of frames, a vec3f
  161. Rotation transform structure: a uint16 number of frames, a vec4f
  162. Scaling transformation structure: a uint16 number of frames, a vec3f
  163.  
  164. The above is a version for 11 ani file format, version 10 is not uint16 but uint32
  165.  
  166. version 11, the rotation transform not vec4f the, but four short, you need to turn into a floating point number and then the unit of about
  167.  
  168. In front of a mesh, b, c, d constitute a transformation matrix used to transform the vertices to the bone space affected by the skeleton vertices in each frame to do to transform the former must be multiplied by the matrix
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement