Advertisement
Guest User

quick loa Model analysis

a guest
Oct 19th, 2010
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.25 KB | None | 0 0
  1. //--------------------------------------
  2. //--- 010 Editor v3.1.2 Binary Template
  3. //
  4. // File:
  5. // Author:
  6. // Revision:
  7. // Purpose:
  8. //--------------------------------------
  9. local int i,j=0;
  10.  
  11. char magic[4]; // DOM.
  12. int unk1; // version ?
  13. int numVerts;
  14.  
  15. short unk2_1;
  16. short unk2_2;
  17. short unk2_3;
  18. short numNames;
  19. short numData4;
  20. short numData5;
  21. short numBones;
  22. short unk2_8;
  23. ushort flags<format=binary>;
  24. FSkip(-2);
  25. struct{
  26.     ushort flags1:4;
  27.     ushort flags2:4;
  28.     ushort flags3:4;
  29.     ushort flags4:4;
  30. }flags_data;
  31. short unk2_10;
  32. short numData1;
  33. short unk2_12;
  34. short unk2_13;
  35. short unk2_14;
  36. short unk2_15;
  37. short unk2_16;
  38.  
  39. float unk3[7];
  40. int ofsNames;
  41. int ofsBoneNames;
  42. int ofsData2;
  43. int ofsData3;
  44. int ofsData4;
  45. int ofsData5;
  46. int ofsBones;
  47. int ofsBones2;
  48. int ofsVertex;
  49. int ofsData9;
  50. int ofsData;
  51.  
  52. int unk4[5];
  53. char FileName[];
  54.  
  55. Printf("g %s\n",FileName);
  56.  
  57. if(numNames != 0)
  58. {
  59.     FSeek(ofsNames);
  60.     struct{
  61.         for(i=0;i<numNames;i++)
  62.         {
  63.             struct{
  64.                 char Name[16];
  65.             }Name;
  66.         }
  67.     }Names;
  68. }
  69.  
  70. if(ofsBoneNames != 0)
  71. {
  72.     FSeek(ofsBoneNames);
  73.     struct{
  74.         for(i=0;i<numBones;i++)
  75.         {
  76.             struct{
  77.                 char Name[20];
  78.                 int BoneID;
  79.             }BoneName;
  80.         }
  81.     }BoneNames;
  82. }
  83.  
  84.  
  85. FSeek(ofsData); // maybe tri-strip related
  86. short Data1[(ofsData2-ofsData)/2];
  87.  
  88. FSeek(ofsData2); // hit box ?
  89. struct DATA2 data2[(ofsData3-ofsData2)/64];
  90.  
  91. if(ofsBones != 0)
  92. {
  93.     FSeek(ofsBones);
  94.     float Bones[numBones*4];
  95.     if(ofsBones2 != 0) float Bones2[numBones*4];
  96. }
  97.  
  98. FSeek(ofsVertex);
  99. struct{
  100.     struct VERTEX vertex[numVerts]<optimize=false>;
  101. }VertexData;
  102.  
  103. struct DATA2{
  104.     byte unk1[8];
  105.     short unk2;
  106.     short unk3;
  107.     short unk4;
  108.     short padding;
  109.     float unk5[7];
  110.     int unk6[4];
  111.     short unk7;
  112.     short unk8;
  113. };
  114.  
  115. struct VERTEX{
  116.     if(flags_data.flags4 > 0)
  117.     {
  118.         short unk1;
  119.         short unk2;
  120.     }
  121.     float TexU;
  122.     float TexV;
  123.     byte NormalX;
  124.     byte NormalY;
  125.     byte NormalZ;
  126.     byte NormalW;
  127.  
  128.     float VertX;
  129.     float VertZ;
  130.     float VertY;
  131.  
  132.     //Printf("v %f %f %f\n",VertX,VertY,VertZ);
  133.     //Printf("f %d %d %d\n",j+1,j+2,j+3);
  134.     j++;
  135. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement