PSO2SERVER/Server/Models/CharacterStruct.cs

102 lines
3.5 KiB
C#
Raw Normal View History

2024-09-10 00:31:40 +08:00
using System;
using System.Runtime.InteropServices;
using System.ComponentModel.DataAnnotations;
2024-11-30 16:18:27 +08:00
using System.ComponentModel.DataAnnotations.Schema;
using PSO2SERVER.Protocol;
2024-09-10 01:13:20 +08:00
using PSO2SERVER.Database;
2024-09-10 00:31:40 +08:00
2024-09-10 01:13:20 +08:00
namespace PSO2SERVER.Models
2024-09-10 00:31:40 +08:00
{
2024-12-02 20:43:28 +08:00
public class CharacterStruct
2024-09-10 00:31:40 +08:00
{
[StructLayout(LayoutKind.Sequential)]
public unsafe struct LooksParam
{
2024-09-17 11:29:41 +08:00
public RunAnimation running_animation;
2024-12-08 21:04:08 +08:00
public RaceFlags race;
2024-09-10 00:31:40 +08:00
public Gender gender;
2024-09-17 11:29:41 +08:00
public ushort Muscule;
public Figure Body;
public Figure Arms;
public Figure Legs;
public Figure Chest;
public Figure FaceShape;
public Figure FaceParts;
public Figure Eyes;
public Figure NoseSize;
public Figure NoseHeight;
public Figure Mouth;
public Figure Ears;
public Figure Neck;
public Figure Waist;
public Figure Body2;
public Figure Arms2;
public Figure Legs2;
public Figure Chest2;
public Figure Neck2;
public Figure Waist2;
public fixed byte Unk1[0x20];
public fixed byte Unk2[0x0A];
public AccessoryData Acc1Location;
public AccessoryData Acc2Location;
public AccessoryData Acc3Location;
public AccessoryData Acc4Location;
public HSVColor UnkColor;
public HSVColor CostumeColor;
public HSVColor MainColor;
public HSVColor Sub1Color;
public HSVColor Sub2Color;
public HSVColor Sub3Color;
public HSVColor EyeColor;
public HSVColor HairColor;
public fixed byte Unk3[0x20];
public fixed byte Unk4[0x10];
public ushort CostumeId;
public ushort BodyPaint1;
public ushort StickerId;
public ushort RightEyeId;
public ushort EyebrowId;
public ushort EyelashId;
public ushort FaceId1;
public ushort FaceId2;
public ushort Facemakeup1Id;
public ushort HairstyleId;
public ushort Acc1Id;
public ushort Acc2Id;
public ushort Acc3Id;
public ushort Facemakeup2Id;
public ushort LegId;
public ushort ArmId;
public ushort Acc4Id;
public fixed byte Unk5[0x04];
public ushort BodyPaint2;
public ushort LeftEyeId;
public fixed byte Unk6[0x12];
public AccessoryData Acc1Size;
public AccessoryData Acc2Size;
public AccessoryData Acc3Size;
public AccessoryData Acc4Size;
public AccessoryData Acc1Rotation;
public AccessoryData Acc2Rotation;
public AccessoryData Acc3Rotation;
public AccessoryData Acc4Rotation;
public ushort Unk7;
public fixed byte Unk8[0x08];
public SkinColor SkinColorType;
public sbyte EyebrowThickness;
2024-09-10 00:31:40 +08:00
}
2024-11-30 16:18:27 +08:00
[StructLayout(LayoutKind.Sequential)]
public unsafe struct JobParam
{
public ClassType mainClass;//1
public ClassType subClass;//1
public ushort unk2;//2
2024-12-08 21:04:08 +08:00
public ClassFlags enabledClasses;//2
2024-11-30 16:18:27 +08:00
public ushort unk3;//2
public Entries entries; //TODO: Make this a fixed array 24 * 8
public fixed ushort unk_maxlevel[15];//30
}
2024-09-10 00:31:40 +08:00
}
}