Advertisement
Shadowth117

Untitled

Jul 7th, 2020
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.95 KB | None | 0 0
  1. public struct XXPV2
  2. {
  3. //Naming is based upon equivalent .cml file tag naming
  4.  
  5. //DOC 0x10
  6. public baseDOC baseDOC;
  7.  
  8. //FIGR 0x1C
  9. public BaseFIGR baseFIGR;
  10.  
  11. //Padding 1 0xA0
  12. public fixed long padding1[4]; //4 sets of 8 bytes
  13. public uint padding1End;
  14.  
  15. //COLR 0xC4
  16. public BaseCOLR baseCOLR;
  17.  
  18. //SLCT 0x124
  19. public BaseSLCT baseSLCT;
  20.  
  21. //End Padding 0x15E - 8 bytes. Ends on 0x16C; Does not align to 0x10.
  22. public long endPadding;
  23. }
  24.  
  25. public struct XXPV5
  26. {
  27. //Naming is based upon equivalent .cml file tag naming
  28.  
  29. //DOC 0x10
  30. public baseDOC baseDOC;
  31.  
  32. //FIGR 0x1C
  33. public BaseFIGR baseFIGR;
  34.  
  35. //Padding 1 0xA0
  36. public fixed long padding1[4]; //4 sets of 8 bytes
  37. public uint padding1End;
  38.  
  39. //COLR 0xD0
  40. public BaseCOLR baseCOLR;
  41.  
  42. //SLCT 0x130
  43. public BaseSLCT baseSLCT;
  44. public BaseSLCT2 baseSLCT2;
  45.  
  46. //Padding 2 0x172
  47. public short padding2Short;
  48. public uint padding2Int;
  49.  
  50. //Accessory Positions. Same format as V6, but ONLY position is present.
  51. //Format is 1Y_1Z 4X_1X 2Y_2Z 4Y_2X 3Y_3Z 4Z_3X and is repeated for rotation and scale.
  52. public fixed byte accessorySlidersv6[6];
  53.  
  54. //Padding 3 0x17E
  55. public short padding3Short;
  56. }
  57.  
  58. public struct XXPV6
  59. {
  60. //Naming is based upon equivalent .cml file tag naming
  61.  
  62. //DOC 0x10
  63. public baseDOC baseDOC;
  64.  
  65. //FIGR 0x20
  66. public BaseFIGR baseFIGR;
  67. public BaseFIGR2 baseFIGR2;
  68.  
  69. //Padding 1 0x100 - 60 bytes + Padding to a multiple of 0x10
  70. public fixed long padding1[13]; //13 sets of 8 bytes
  71. public uint padding1Start;
  72.  
  73. //COLR 0x16C
  74. public BaseCOLR baseCOLR;
  75.  
  76. //Padding 2 0x1CC - padding of 0x4 + 0x70 bytes + padding of 0x4
  77. public fixed long padding2[15]; //15 sets of 8 bytes
  78.  
  79. //SLCT 0x244 - .cmx piece references.
  80. public BaseSLCT baseSLCT;
  81. public BaseSLCT2 baseSLCT2;
  82.  
  83. //Padding 3 0x294 - 0x30 bytes padding
  84. public fixed long padding3[6]; //6 sets of 8 bytes
  85.  
  86. //Accessory 0x2C4 - Position Rotation Scale, stored as signed nibbles. Values go to 7, go down from 0 starting at 8 until E for a min of -7.
  87. //Format is 1Y_1Z 4X_1X 2Y_2Z 4Y_2X 3Y_3Z 4Z_3X and is repeated for rotation and scale.
  88. public fixed byte accessorySliders[18]; //18 bytes.
  89.  
  90. //Body paint order 0x2D6 - followed by padding to end of row and 0xC bytes. Innerwear is 0x0, bodypaint1 is 0x1, bodypaint2 is 0x2
  91. public PaintPriority paintPriority;
  92.  
  93. //Final padding
  94. public fixed uint finalPadding[2];
  95.  
  96. }
  97.  
  98. public struct XXPV9
  99. {
  100. //Naming is based upon equivalent .cml file tag naming
  101.  
  102. //DOC 0x10
  103. public baseDOC baseDOC;
  104. public byte skinVariant; //0 or above 3 for default, 1 for human, 2 for dewman, 3 for cast. This decides the color map used for the skin.
  105. public sbyte eyebrowDensity; //-100 to 100
  106. public short DOCUnk0;
  107.  
  108. //FIGR 0x20
  109. public BaseFIGR baseFIGR;
  110. public BaseFIGR2 baseFIGR2;
  111.  
  112. //Padding 1 0x104 - Padding to a multiple of 0x10 + 60 bytes
  113. public uint padding1Start;
  114. public fixed long padding1[13]; //13 sets of 8 bytes
  115.  
  116. //COLR 0x170
  117. public BaseCOLR baseCOLR;
  118.  
  119. //Padding 2 0x1D0 - 0x70 bytes + padding of 0x8
  120. public fixed long padding2[15]; //15 sets of 8 bytes
  121.  
  122. //SLCT 0x248 - .cmx piece references.
  123. public BaseSLCT baseSLCT;
  124. public BaseSLCT2 baseSLCT2;
  125. public uint leftEyePart;
  126.  
  127. //Padding 3 0x29C - Padding to a multiple of 0x10 + 0x20 bytes + padding of 0x8?
  128. public uint padding3Start;
  129. public fixed long padding3[5]; //5 sets of 8 bytes
  130.  
  131. //Accessory 0x2C8 - Position Rotation Scale. Each transformation type has values for each laid out 1234
  132. //before repeating in the next set. In v9, range is -126 to 126
  133. public fixed sbyte accessorySliders[36]; //36 bytes. Each slider in v9 is one byte.
  134.  
  135. //Body paint order 0x2EC - followed by padding to end. Innerwear is 0x0, bodypaint1 is 0x1, bodypaint2 is 0x2
  136. public PaintPriority paintPriority;
  137.  
  138. //Final Padding
  139. public ushort shortPadding;
  140. public uint semifinalPadding;
  141. public long finalPadding;
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement