Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public struct XXPV2
- {
- //Naming is based upon equivalent .cml file tag naming
- //DOC 0x10
- public baseDOC baseDOC;
- //FIGR 0x1C
- public BaseFIGR baseFIGR;
- //Padding 1 0xA0
- public fixed long padding1[4]; //4 sets of 8 bytes
- public uint padding1End;
- //COLR 0xC4
- public BaseCOLR baseCOLR;
- //SLCT 0x124
- public BaseSLCT baseSLCT;
- //End Padding 0x15E - 8 bytes. Ends on 0x16C; Does not align to 0x10.
- public long endPadding;
- }
- public struct XXPV5
- {
- //Naming is based upon equivalent .cml file tag naming
- //DOC 0x10
- public baseDOC baseDOC;
- //FIGR 0x1C
- public BaseFIGR baseFIGR;
- //Padding 1 0xA0
- public fixed long padding1[4]; //4 sets of 8 bytes
- public uint padding1End;
- //COLR 0xD0
- public BaseCOLR baseCOLR;
- //SLCT 0x130
- public BaseSLCT baseSLCT;
- public BaseSLCT2 baseSLCT2;
- //Padding 2 0x172
- public short padding2Short;
- public uint padding2Int;
- //Accessory Positions. Same format as V6, but ONLY position is present.
- //Format is 1Y_1Z 4X_1X 2Y_2Z 4Y_2X 3Y_3Z 4Z_3X and is repeated for rotation and scale.
- public fixed byte accessorySlidersv6[6];
- //Padding 3 0x17E
- public short padding3Short;
- }
- public struct XXPV6
- {
- //Naming is based upon equivalent .cml file tag naming
- //DOC 0x10
- public baseDOC baseDOC;
- //FIGR 0x20
- public BaseFIGR baseFIGR;
- public BaseFIGR2 baseFIGR2;
- //Padding 1 0x100 - 60 bytes + Padding to a multiple of 0x10
- public fixed long padding1[13]; //13 sets of 8 bytes
- public uint padding1Start;
- //COLR 0x16C
- public BaseCOLR baseCOLR;
- //Padding 2 0x1CC - padding of 0x4 + 0x70 bytes + padding of 0x4
- public fixed long padding2[15]; //15 sets of 8 bytes
- //SLCT 0x244 - .cmx piece references.
- public BaseSLCT baseSLCT;
- public BaseSLCT2 baseSLCT2;
- //Padding 3 0x294 - 0x30 bytes padding
- public fixed long padding3[6]; //6 sets of 8 bytes
- //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.
- //Format is 1Y_1Z 4X_1X 2Y_2Z 4Y_2X 3Y_3Z 4Z_3X and is repeated for rotation and scale.
- public fixed byte accessorySliders[18]; //18 bytes.
- //Body paint order 0x2D6 - followed by padding to end of row and 0xC bytes. Innerwear is 0x0, bodypaint1 is 0x1, bodypaint2 is 0x2
- public PaintPriority paintPriority;
- //Final padding
- public fixed uint finalPadding[2];
- }
- public struct XXPV9
- {
- //Naming is based upon equivalent .cml file tag naming
- //DOC 0x10
- public baseDOC baseDOC;
- 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.
- public sbyte eyebrowDensity; //-100 to 100
- public short DOCUnk0;
- //FIGR 0x20
- public BaseFIGR baseFIGR;
- public BaseFIGR2 baseFIGR2;
- //Padding 1 0x104 - Padding to a multiple of 0x10 + 60 bytes
- public uint padding1Start;
- public fixed long padding1[13]; //13 sets of 8 bytes
- //COLR 0x170
- public BaseCOLR baseCOLR;
- //Padding 2 0x1D0 - 0x70 bytes + padding of 0x8
- public fixed long padding2[15]; //15 sets of 8 bytes
- //SLCT 0x248 - .cmx piece references.
- public BaseSLCT baseSLCT;
- public BaseSLCT2 baseSLCT2;
- public uint leftEyePart;
- //Padding 3 0x29C - Padding to a multiple of 0x10 + 0x20 bytes + padding of 0x8?
- public uint padding3Start;
- public fixed long padding3[5]; //5 sets of 8 bytes
- //Accessory 0x2C8 - Position Rotation Scale. Each transformation type has values for each laid out 1234
- //before repeating in the next set. In v9, range is -126 to 126
- public fixed sbyte accessorySliders[36]; //36 bytes. Each slider in v9 is one byte.
- //Body paint order 0x2EC - followed by padding to end. Innerwear is 0x0, bodypaint1 is 0x1, bodypaint2 is 0x2
- public PaintPriority paintPriority;
- //Final Padding
- public ushort shortPadding;
- public uint semifinalPadding;
- public long finalPadding;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement