Advertisement
Shadowth117

Untitled

Nov 29th, 2018
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.88 KB | None | 0 0
  1. //--------------------------------------------------
  2. // AQO.h
  3. //--------------------------------------------------
  4. #pragma once
  5.  
  6. class clAQO{
  7. public:
  8. clAQO(bool display=false);
  9. ~clAQO();
  10. bool LoadNIFL(clNIFL *nifl);
  11. bool SaveNIFL(clNIFL *nifl);
  12. void WriteMTL(FILE * fpw_mtl);
  13. bool LoadVTBF(clVTBF *vtbf);
  14. bool ExportObj(const char *filename);
  15.  
  16. bool ExportFbx(const char *filename);
  17.  
  18. void MovePosition(const float x, const float y, const float z);
  19. void Rotate(const float r, const char xyz);
  20. void Scale(const float s, const char xyz);
  21. void ReplaceString(const char *src, const char *dest);
  22. void SetSukeSuke(unsigned int sukeref);
  23. void SetAlpha(void);
  24. bool ImportVertexFromObj(const char *filename);
  25. bool ImportAQO(clAQO *aqo, const bool meshonly=false);
  26. void RemoveGroup(const unsigned int delete_index);
  27. void HalfUV(const float u);
  28. void Test(void);
  29. void RemakeUNRM(void);
  30. void ReplaceTexfilename(const char *dest);
  31.  
  32. #pragma pack(1)
  33.  
  34. struct stPosition {
  35. float x;
  36. float y;
  37. float z;
  38. };
  39.  
  40. struct stUV {
  41. float u;
  42. float v;
  43. };
  44.  
  45. struct stColor {
  46. unsigned char b;
  47. unsigned char g;
  48. unsigned char r;
  49. unsigned char a;
  50. };
  51.  
  52. struct stOBJC {
  53. unsigned int _10; // 10-08
  54. unsigned int _11; // 11-08
  55. unsigned int _12; // 12-09
  56. unsigned int _13; // 13-08
  57.  
  58. unsigned int face_count_total; // 14-09
  59. unsigned int _unk_01; // ??
  60. unsigned int vtxl_count_total; // 15-08
  61. unsigned int _unk_02; // ??
  62.  
  63. unsigned int _16; // 16-08
  64. unsigned int vset_count; // 24-09
  65. unsigned int vset_offset; // ??
  66. unsigned int pset_count; // 25-09
  67.  
  68. unsigned int pset_offset; // ??
  69. unsigned int mesh_count; // 17-09
  70. unsigned int mesh_offset; // ??
  71. unsigned int mate_count; // 18-08
  72.  
  73. unsigned int mate_offset; // ??
  74. unsigned int rend_count; // 19-08
  75. unsigned int rend_offset; // ??
  76. unsigned int shad_count; // 1A-08
  77.  
  78. unsigned int shad_offset; // ??
  79. unsigned int tsta_count; // 1B-08
  80. unsigned int tsta_offset; // ??
  81. unsigned int tset_count; // 1C-08
  82.  
  83. unsigned int tset_offset; // ??
  84. unsigned int texf_count; // 1D-08
  85. unsigned int texf_offset; // ??
  86.  
  87. unsigned char _1e[48]; // 1E-4A-xx
  88. unsigned int reserve; // 00 00 00 00
  89.  
  90. unsigned int unrm_offset; // ??
  91. };
  92.  
  93. struct stVSET {
  94. unsigned int vert_size; // B6-09
  95. unsigned int vtxe_count; // BF-09
  96. unsigned int vtxe_offset; // ok
  97. unsigned int vtxl_count; // B9-09
  98.  
  99. unsigned int vtxl_offset; // ok
  100. unsigned int _unk_02; //
  101. unsigned int bonepalette_count; //
  102. unsigned int bonepalette_offset;// ok
  103.  
  104. unsigned int _unk_04; //
  105. unsigned int _unk_05; //
  106. unsigned int _unk_06; //
  107. unsigned int bonepalette2_count; // count?
  108.  
  109. unsigned int bonepalette2_offset; // ©32bytes‚̉½‚©‚̃f[ƒ^‚Ö‚Ìoffset
  110. };
  111.  
  112. struct stVTXE {
  113. unsigned int type;
  114. unsigned int type2;
  115. unsigned int pos;
  116. unsigned int reserve;
  117. };
  118.  
  119. struct stMESH {
  120. unsigned int _b0; // B0-09
  121. unsigned int _c7; // C7-09
  122. unsigned int mate_index; // B1-08 MATE index
  123. unsigned int rend_index; // B2-08
  124.  
  125. unsigned int shad_index; // B3-08
  126. unsigned int tset_index; // B4-08
  127. unsigned int _b5; // B5-08
  128. unsigned int _c0; // C0-08
  129.  
  130. unsigned int _c1; // C1-08
  131. unsigned int _cd; // CD-08
  132. unsigned int _c2; // C2-09
  133. unsigned int reserve; // 00 00 00 00
  134. };
  135.  
  136. struct stMATE {
  137. unsigned char _30[16]; // 30-4A-02
  138. unsigned char _31[16]; // 31-4A-02
  139. unsigned char _32[16]; // 32-4A-02
  140. unsigned char _33[16]; // 33-4A-02
  141.  
  142. unsigned int _34; // 34-09
  143. unsigned int _35; // 35-0A
  144. unsigned int _36; // 36-0A
  145. unsigned int _37; // 37-09
  146.  
  147. unsigned int _38; // 38-09
  148. char _3a[32]; // 3A-02
  149. char _39[32]; // 39-02
  150. };
  151.  
  152. struct stREND {
  153. unsigned int _40; // 40-09
  154. unsigned int _41; // 41-09
  155. unsigned int _42; // 42-09
  156. unsigned int _43; // 43-09
  157.  
  158. unsigned int _44; // 44-09
  159. unsigned int _45; // 45-09
  160. unsigned int _46; // 46-09
  161. unsigned int _47; // 47-09
  162.  
  163. unsigned int _48; // 48-09
  164. unsigned int _49; // 49-09
  165. unsigned int _4a; // 4A-09
  166. unsigned int _4b; // 4B-09
  167.  
  168. unsigned int _4c; // 4C-09
  169. unsigned int _4d; // 4D-09
  170. unsigned int _4e; // 4E-09
  171. unsigned int _4f; // 4F-09
  172.  
  173. unsigned int _50; // 50-09
  174. };
  175.  
  176. struct stSHAD {
  177. unsigned int _90; // 90-09
  178. char _91[32]; // 91-02
  179. char _92[32]; // 92-02
  180. unsigned int _93; // 93-09
  181. };
  182.  
  183. struct stTSTA {
  184. unsigned int _60; // 60-09
  185. unsigned int _61; // 61-09
  186. unsigned int _62; // 62-09
  187. unsigned char _63[12]; // 63-4A-01
  188. unsigned int _64; // 64-09
  189. unsigned int _65; // 65-09
  190. unsigned int _66; // 66-09
  191. unsigned int _67; // 67-09
  192. unsigned int _68; // 68-09
  193. unsigned int _69; // 69-09
  194. unsigned int _6a; // 6A-0A
  195. unsigned int _6b; // 6B-0A
  196. char _6c[32]; // 6C-02
  197. };
  198.  
  199. struct stTSET {
  200. unsigned int _70; // 70-09
  201. unsigned int _71; // 71-08
  202. unsigned int _72; // 72-09
  203. unsigned int _73; // 73-09
  204.  
  205. unsigned int _74; // 74-09
  206. //unsigned char _75[16]; // 75-88-08-03?
  207. unsigned int _75[4]; // 75-88-08-03?
  208. };
  209.  
  210. struct stTEXF {
  211. char _80[32]; // 80-02
  212. };
  213.  
  214. struct stPSET {
  215. unsigned int _c6; // C6-09
  216. unsigned int _bb; // BB-09
  217. unsigned int face_count_offset; // offset
  218. unsigned int face_count; // BC-09
  219.  
  220. unsigned int face_data_offset; //
  221. unsigned int reserve; // 00 00 00 00?
  222. };
  223.  
  224. struct stUNRM {
  225. unsigned int _u_data1_count; // DA-09
  226. unsigned int _u_data1_offset; // DB-89-xx-yy-yy data
  227. unsigned int _u_data2_count; // DC-09
  228. unsigned int _u_data2a_offset; // DD-89-10-18-04 data
  229.  
  230. unsigned int _u_data2b_offset; // DE-89-10-18-04 data
  231. };
  232.  
  233. #pragma pack()
  234.  
  235. stOBJC *objc;
  236. stMESH *mesh;
  237. stMATE *mate;
  238. stREND *rend;
  239. stSHAD *shad;
  240. stTSTA *tsta;
  241. stTSET *tset;
  242. stTEXF *texf;
  243. stUNRM *unrm;
  244. stPSET *pset;
  245. unsigned short **face;
  246. stVSET *vset;
  247. stVTXE **vtxe;
  248. unsigned char ***vtxl_buff;
  249. unsigned short **bonepalette;
  250. unsigned short **bonepalette2;
  251. unsigned int **_u_data1;
  252. unsigned int **_u_data2a;
  253. unsigned int **_u_data2b;
  254.  
  255. private:
  256.  
  257. bool mode_display;
  258.  
  259. stPosition max, min;
  260.  
  261. void Release(void);
  262. void GetPosition_max_min(void);
  263. void dump_hex(unsigned char **buf, unsigned int pos, unsigned int count, unsigned int size);
  264. void dump_pos(unsigned char **buf, unsigned int pos, unsigned int count);
  265. void dump_uv(unsigned char **buf, unsigned int pos, unsigned int count);
  266. void dump_float(unsigned char **buf, unsigned int pos, unsigned int count, unsigned int ary_size);
  267. void dump_ubyte(unsigned char **buf, unsigned int pos, unsigned int count, unsigned int ary_size);
  268. void show_vtxe_header(const char *str, unsigned int index, stVTXE vtxe);
  269. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement